C语言-GCC基础培训的.ppt

  1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-GCC基础培训的

C语言-GCC;培训大纲;gcc简介;查看版本信息;查看安装路径;相关文件类型;gcc编译的4个过程;可执行程序的生成过程;培训大纲;GCC编译过程;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 ;预处理;#define用法;#define带参数;#define带参数;#define带参数;gcc –E hello.c –DAA=1;#的用法;##的用法;预处理头文件xxx.h;有三个头文件和一个C文件;常用的#debug宏定义;编译;汇编;链接;培训大纲;gcc的使用;常用选项及含义;gcc的常用选项;gcc的常用选项;gcc的常用选项;示例;-Wall:允许所有有用的警告(建议总是使用该选项);-o:定义输出文件 ;-l:链接外部库文件;-l:链接外部库文件;函数库的链接次序;-L:设置库文件的搜索路径;-I:设置头文件的搜索路径;生成预处理文件;生成汇编文件;生成二进制文件;培训大纲;静态库与动态库;创建静态库;创建静态库示例--源码;创建静态库示例--操作命令;一个容易忽略的顺序问题;创建、使用共享库示例;创建共享库步骤;共享库系统自动动态加载问题;应用程序自身完成动态加载;应用程序自身完成动态加载示例;检查库依赖关系;动态库路径搜索的先后顺序;总结:动态共享库的好处;培训大纲;GNU C 扩展简介;多个文件的C程序;编译多个文件;;编译多个文件;编译多个文件;ar option;ranlib Utility ;nm Utility ;objdump Utility ;size Utility ;ldd Utility ;建立自己的GCC 编译环境;;GCC的编译环境;binutils相关工具: as: gnu汇编工具 gprof : 性能分析工具 ld : gnu链接器,链接器可以读写各种目标文件中的信息,通过BFD(binary file descriptor)提供??工具实现,BFD定义了类似a.out, elf, coff等目标文件的格式 make: objcopy: 目标文件从二进制格式翻译或复制到另一种 objdump: 显示目标文件的各种信息 strings: 显示文件的字符串 strip : 去除符合表 readelf : 分析elf并显示信息;gcc预定义宏 __BASE_FILE__ 完整的源文件名路径 __cplusplus 测试c++程序 __DATE__ 日期 __FILE__ 源文件名 __func__ 替代__FUNCTION__,__FUNCTION__以被GNU不推荐使用 __TIME__ 日期 __LINE__ 行数 __VERSION__ gcc版本;;;推荐读物

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档