GNU编译工具链使用简介.ppt
《GNU编译工具链使用简介.ppt》由会员分享,可在线阅读,更多相关《GNU编译工具链使用简介.ppt(30页珍藏版)》请在三一办公上搜索。
1、GNU编译工具链使用简介,张吉豫2005-03-12,2,内容,GNU编译工具链的基本组成与工作流程工具链的常用工具和选项Unicore工具链与交叉编译,3,编译工具链的基本工作流程,一个“hello world”程序的演变历程,4,GNU工具链的组成,GCCGNU Compiler CollectionBinutilsGNU binary utilitiesGlibcGNU C Library软件开发的基本工具集合,5,GCC,功能:高级语言(.c、.cpp、.F)汇编语言(.s)用户界面,驱动各工具的执行组成:一组可执行程序+一组库cpp、gcc、g+、g77 cpp0、cc1、cc1pl
2、us、f771 libgcc.a、crtbegin.o、crtend.o 支持多种语言和目标机,6,Binutils,功能:汇编语言(.s)目标文件可执行程序查看二进制文件信息组成:一组可执行程序as、ldobjdump、readelf、ar 支持多种目标机,7,Glibc,功能:提供语言和操作系统的标准库函数组成:若干可执行程序+大量库ldd、iconv、localeISO C、POSIX、UNIX、GNU绝大部分与目标机无关,8,GNU工具链的工作流程,扩展名的默认含义需要预处理的源代码:.c、.cc、.F 不需预处理的源代码:.i、.ii、.f 需要预处理的汇编代码:.S不需预处理的汇编
3、代码:.s目标文件:.o静态库:.a动态库:.so,9,cpp0,cc1、cc1plus、f771,as,ld、ar,.i、.ii、.f,.s,.o,libgcc.a,可执行程序或库,glibc,gccg+g77,.i、.ii、.f,.c、.cc、.F,.s,.o,.c、.cc、.F.i、.ii、.f.s、.o,10,常用工具和选项,编译:gcc/g+/g77汇编和连接:as、ld二进制工具:objdump、readelf、strip、ar、nm、lddgprof、gcov,11,帮助选项,-help-target-help显示与目标机有关的帮助信息,比如目标机的一些特殊选项,12,编译(1)
4、,gcc/g+/g77 options file.-Wall打印警告信息-g添加调试信息到输出文件-O-O0-O1-O2-O3-Os优化选项,若有多个则最后一个有效-D-U定义和取消宏定义-msoft-float使用软件库(libgcc.a)模拟硬件浮点指令,13,编译(2),-I指定头文件搜索路径,若有多个则从前往后搜索-L指定库搜索路径,若有多个则从前往后搜索-l指定引用的库,从当前位置向后搜索-static-shared使用静态连接或动态连接-pg-fprofile-arcs-ftest-coverage添加额外的统计代码用于profile,与gprof和gcov配合使用,14,编译(3
5、),-E输出预处理后的文件(.i、.ii、.f 等)-S输出编译生成的汇编文件(.s)-c输出汇编生成的目标文件(.o)-o指定输出文件名-v输出编译过程的详细信息,包括编译过程中以哪些参数调用了哪些程序。,15,编译(4),基于profiling的优化编译根据程序执行反馈的信息指导编译优化以产生出更好的代码。使用方法编译:添加-fprofile-arcs选项和其他优化选项进行编译,生成可执行程序执行:执行程序,对每个源程序sourcefile生成sourcefile.da,其中保存了统计信息重新编译:添加-fbranch-probabilities选项和其他相同的优化选项重新编译,生成质量更
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GNU 编译 工具 使用 简介
链接地址:https://www.31ppt.com/p-6506550.html