欢迎来到天天文库
浏览记录
ID:51086747
大小:201.50 KB
页数:28页
时间:2020-03-18
《第章嵌入式Linux开发环境.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章嵌入式Linux开发环境第7章嵌入式Linux开发环境7.1GNUTools7.2项目管理7.3调试器7.1GNUToolsGNUTools综述GCC编译与链接GCC工具介绍C语言库ELF文件格式GNUTools综述GNUTools是Linux环境下的开发工具,用于代码的生成。GNUTools的重要组成部分是GCC。GCC是GNUCompilerCollection的缩写,是一个非常优秀的跨平台编译器集合,支持x86、ARM、MIPS和PowerPC等多种目标平台,支持C、C++、Java、ADA、Fortran和Pascal等多种高级语
2、言。GNUTools综述文件类型扩展名文件说明文本文件*.cC语言源文件*.C/*.cxx/*.ccC++语言源文件*.i预处理后的C语言源文件*.ii预处理后的C++语言源文件*.s*.S汇编语言*.h头文件二进制文件.o目标文件.so动态库.a静态库GNUTools综述工具名称说明asGNU汇编器。用以将处理器的汇编代码转换成可执行代码,并存储到目标文件.o文件中ldGNU链接器。用于将一个或多个目标文件.o、库组合成一个可执行程序;或者生成静态库和动态库。ar归档工具,可以将多个文件组合成一个大文件,并且可以读取原始文件的内容。strip
3、e去除文件中的符号nm用以显示目标文件中的符号objectcopy转换二进制代码的工具objdump显示目标文件的反汇编工具readelf显示ELF文件中的各种信息string显示文件中的可打印字符ranlib产生归档文件的系引,并将其保存到归档文件中,系引同时列出归档文件各成员所定义的可重分配目标文件。addr2line可以将一个可执行程序的地址映射到源文件的对应行。Gprof显示程序调用段的各种数据GNUTools综述GNUTools是Linux环境下的开发工具,用于代码的生成。GNUTools的重要组成部分是GCC。GCC是GNUComp
4、ilerCollection的缩写,是一个非常优秀的跨平台编译器集合,支持x86、ARM、MIPS和PowerPC等多种目标平台,支持C、C++、Java、ADA、Fortran和Pascal等多种高级语言。GNUTools综述预处理编译汇编链接GCC编译与链接#gcchello.c-ohello#./helloHelloworld!预处理#gcc-Ehello.c-ohello.i编译和汇编#gcc-chello.i-ohello.o链接#gcchello.o-ohello一步完成:分布完成:/*hello.c*/#include5、.h>intmain(void){printf("Helloworld!");return0;}GCC编译与链接一步完成:#gccfoo1.cfoo2.c-ofoo源程序:foo1.cfoo2.c多步完成:#gcc-cfoo1.c-ofoo1.o#gcc-cfoo2.c-ofoo2.o#gccfoo1.ofoo2.o-ofoo归档工具arar工具用于建立、修改、提取归档文件(archive)。一个归档文件是包含多个文件的单个文件(也可以把它认为是一个库文件),其结构保证了可以从中检索并得到原始的被包含文件(称做此归档文件的成员)。被包含的原6、始文件的内容、模式(权限)、时间戳、所有者和组等属性都保存在归档文件中,并且可在提取后,恢复原始文件的相关属性。ar[-]p[mod[relpos]]archive[member...]移除符号工具stripstrip工具用于去除文件中的符号。使用strip既可以移除目标中文件中的某个符号,也可以移除整个节。使用strip,至少要有一个输入文件,也可以输入一个文件列表。strip[-Fbfdname7、--target=bfdname][-Ibfdname8、--input-target=bfdname][-Obfdname9、--output-ta10、rget=bfdname][-s11、--strip-all][-S12、-g13、-d14、--strip-debug][-Ksymbolname15、--keep-symbol=symbolname][-Nsymbolname16、--strip-symbol=symbolname][-x17、--discard-all][-X18、--discard-locals][-Rsectionname19、--remove-section=sectionname][-ofile][-p20、--preserve-dates][-v21、--verbose][-V22、--version][--23、help]objfile...列出文件符号工具nmnm工具的功能是列出目标文件中的符号,这样可以帮助程序员分析可执行程序,获得目标文件中的符号信息和它
5、.h>intmain(void){printf("Helloworld!");return0;}GCC编译与链接一步完成:#gccfoo1.cfoo2.c-ofoo源程序:foo1.cfoo2.c多步完成:#gcc-cfoo1.c-ofoo1.o#gcc-cfoo2.c-ofoo2.o#gccfoo1.ofoo2.o-ofoo归档工具arar工具用于建立、修改、提取归档文件(archive)。一个归档文件是包含多个文件的单个文件(也可以把它认为是一个库文件),其结构保证了可以从中检索并得到原始的被包含文件(称做此归档文件的成员)。被包含的原
6、始文件的内容、模式(权限)、时间戳、所有者和组等属性都保存在归档文件中,并且可在提取后,恢复原始文件的相关属性。ar[-]p[mod[relpos]]archive[member...]移除符号工具stripstrip工具用于去除文件中的符号。使用strip既可以移除目标中文件中的某个符号,也可以移除整个节。使用strip,至少要有一个输入文件,也可以输入一个文件列表。strip[-Fbfdname
7、--target=bfdname][-Ibfdname
8、--input-target=bfdname][-Obfdname
9、--output-ta
10、rget=bfdname][-s
11、--strip-all][-S
12、-g
13、-d
14、--strip-debug][-Ksymbolname
15、--keep-symbol=symbolname][-Nsymbolname
16、--strip-symbol=symbolname][-x
17、--discard-all][-X
18、--discard-locals][-Rsectionname
19、--remove-section=sectionname][-ofile][-p
20、--preserve-dates][-v
21、--verbose][-V
22、--version][--
23、help]objfile...列出文件符号工具nmnm工具的功能是列出目标文件中的符号,这样可以帮助程序员分析可执行程序,获得目标文件中的符号信息和它
此文档下载收益归作者所有