Linux平台项目开发环境概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* Linux程序设计 (C语言) 第2章 Linux平台项目开发环境 * 第2章Linux平台项目开发环境 2.1 项目构思 2.2 用GCC工具开发应用程序 2.3?命令行参数与环境变量 2.4?make工具与Makefile文件 2.5?调试器GDB/ddd 2.6?Linux函数库 2.7 项目设计、实施与运行 * 2.1项目构思 本项目完成一个简易的学生成绩计算功能:从键盘输入N个学生的姓名,年龄,数学成绩,语文成绩四项信息,输入完N个学生信息后,计算各个学生的总成绩和平均成绩,计算完毕后输出每个学生的姓名、年龄、数学成绩、语文成绩、总成绩、平均成绩。要求将输入、计算、输出三个过程分别使用独立函数实现,三个函数分别保存在三个不同的源文件中。 * 2.2 用GCC工具开发Linux应用 2.2.1 Linux C程序的编译运行过程 在Linux环境下,一般用gcc工具编开发应用,开发一个简单应用程序至少需要三步: 第一步:录入源代码 例2-1:用gedit、vim等编辑器输入C程序hello.c,其功能是打印5行” HELLO, LINUX WORLD” $ gedit hello.c #include stdio.h int main () { int i, j; for (i=0,j=5; i j; i++){ printf(HELLO, LINUX WORLD\n); } exit(0); } 第二步:编译程序 $ gcc 2-1.c -o 2-1 注意:编译过程若无error错误,则将产生可执行程序2-1,有时报告一些warning错,但不会影响程序的正确执行 第三步:执行程序 $ ./2-1 HELLO, LINUX WORLD HELLO, LINUX WORLD …… GCC是一种功能强大的编译器,用gcc编译C/C++程序,源代码到可执行文件要经过预处理、编译、汇编、链接4个阶段: * 2.2.2??GCC编译器介绍 处理头文件和预编译语句,生成.i文件 生成.s汇编代码文件 将编译阶段生成的.s文件转换成 目标文件.o 将目标文件和所用的库函数连接到 可执行文件中适当位置,生成可执行文件 源代码.c cpp cc1 as ld 预处理 编译 汇编 链接 (1) 预处理:gcc调用预编译程序”cpp”对源程序中所有以#开头的语句,如头文件(.h)、define宏定义、条件编译语句,进行预处理; (2) 编译:gcc调用”ccl”编译经预处理后的源程序,生成以”.s”为后缀的汇编代码文件; (3)汇编:gcc调用汇编程序”as”,对”.s”汇编语言代码进行汇编,生成以”.o”为后缀的目标文件; (4)链接:当所有目标文件都生成后,gcc调用链接程序”ld”将所有目标文件、相关系统库文件链接起来,生成可执行程序,在此过程中,要统一安排程序中各函数、全局变量的地址 * 2.2.3??开发工具GCC基本用法 一、GCC常用方法 GCC工具最常见的用法是将源程序编译成可执行程序、将源程序编译成目标程序。 基本格式: $ gcc [选项] [源文件名,如ex1.c ] 生成可执行文件 $ gcc -o 可执行文件名 源文件名 或$ gcc 源文件名 -o 可执行文件名 生成目标文件: $ gcc [-o 目标文件名] -c 源文件名 或$ gcc 源文件名 [-o目标文件名] -c 要用GDB工具调试, 最后加上-g选项; 要显示附加的警告信息,最后加上-Wall选项 范例:将源程序infile.c编译成可执行程序outfile,要支持GDB调试 $ gcc -g -o outfile infile.c 或 $ gcc -g infile.c -o outfile 1. 生成.i文件[-E] 格式:$ gcc -E infile.c -o infile.i 功能:仅对预处理语句进行处理, 输出文件为infile.i 2. 生成汇编文件[-S] 格式:$ gcc -S infile.c 缺省输出文件名为:infile.s 3. 生成目标文件[-c] 格式:$ gcc -c infile.c 缺省输出文件名为:infile.o 二、GCC其他用法 通过适当的编译选项,可控制gcc产生预编译、编译、汇编、链接任意阶段的输出结果,还可指明特定的头文件目录、库文件目录。 4. 设置自定义头文件路径 格式:$ gcc -Idirnpath … 功能:预处理节点gcc先到dirpath目录中找头

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档