- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-GCC基础培训
C语言-GCC 上海**通信技术有限公司 Jim(seniordba@) 2011-05 培训大纲 一、gcc简介 二、gcc编译过程 三、gcc编译选项 四、静态/动态链接库 五、其它 gcc简介 名称: GNU project C and C++ Compiler GNU Compiler Collection gcc是一个全功能的?ANSI?C?兼容编译器,它是所有UNIX系统可用的C编译器。 gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。 查看版本信息 查看安装路径 相关文件类型 c 为后缀的文件,C语言源代码文件; .a 为后缀的文件,是由目标文件构成的档案库文件; .C,.cc或.cxx 为后缀的文件,是C++源代码文件; .h 为后缀的文件,是程序所包含的头文件; .i 为后缀的文件,是已经预处理过的C源代码文件; .ii 为后缀的文件,是已经预处理过的C++源代码文件; .m 为后缀的文件,是Objective-C源代码文件; .o 为后缀的文件,是编译后的目标文件; .s 为后缀的文件,是汇编语言源代码文件; .S 为后缀的文件,是经过预编译的汇编语言源代码文件。 gcc编译的4个过程 预处理(也称预编译,Preprocessing): 命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。 编译(Compilation): 接着调用cc1进行编译,这个阶段根据输入文件生成以.o为后缀的目标文件。 汇编(Assembly): 汇编过程是针对汇编语言的步骤,调用as进行工作。 连接(Linking): 当所有的目标文件都生成之后,gcc就调用 ld来完成最后的关键性工作,这个阶段就是连接 可执行程序的生成过程 预处理(Preprocessing):分析各种预处理命令,如#define, #include, #if等; 编译(Compilation): 根据输入文件产生汇编语言的程序; 汇编(Assembly): 将汇编语言输入,产生扩展名为.o的目标文件; 链接(Linking):以.o目标文件,库文件作为输入,生成可执行文件; 培训大纲 一、gcc简介 二、gcc编译过程 三、gcc编译选项 四、静态/动态链接库 五、其它 GCC编译过程 典型的编译过程 test.c –预处理? test.i –编译? test.s –汇编?test.o –连接? test $ cat test.c (查看程序源代码) #include stdio.h int main(int argc, char *argv[]) { printf(hello world\n); return 0; } $ gcc –o test test.c (编译连接程序) $ ./test (执行test程序) 1、没有任何选项:gcc helloworld.c 结果会在和helloworld.c相同的目录下产生一个a.out的可执行文档。 2、-o选项,指定输出文档名:gcc -o helloworld helloworld.c -o意思是Output即需要指定输出的可执行文档的名称。这里的名称为helloworld。 3、-c选项,只编译汇编 ,不连接:gcc -c helloworld.c -c意思就是Compile,产生一个叫helloworld.o的目标文档 4、-S选项,产生汇编源文档:gcc -S helloworld.c -S意思就是aSsemble,产生一个叫helloworld.s的汇编源文档 5、-E选项,预处理C源文档:gcc -E helloworld.c -E意思就是prEprocess。输出不是送到一个文档而是标准输出。当然能够对他进行重定向: gcc -E helloworld.c helloworld.txt 预处理 预编译命令: $ gcc -o test.i -
您可能关注的文档
- 10风筝生字.ppt
- 10《松鼠》课件.ppt
- 政治经济试题带答案2.doc
- 第四次(光学)习题课.ppt
- 第十章zulin.ppt
- 统计学复习题六.doc
- 计算机网络习题.ppt
- 模块十unit1project.ppt
- 统计学期考试题2(附答案).doc
- 初级会计实务第5章.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)