1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 嵌入式软件开发培训笔记——C高级 开发环境

嵌入式软件开发培训笔记——C高级 开发环境

时间:2019-04-15 02:01:56

相关推荐

嵌入式软件开发培训笔记——C高级 开发环境

(1)GNU工具:

a)编译工具——GCC、G++;

b)调试工具——GDB;

c)软件工程工具——make、makefile;

d)其他工具——多个目标文件链接成可执行文件的链接器

e)GNU资源:、等

(2)GCC全称GNU CC,符合ANSI C标准的编译系统,编译如C、C++、Object C、JAVA等;可在多种平台编可译可执行程序;是一个交叉平台编译器。常用的比较稳定的版本为GCC 3.3、GCC4.3。

GCC编译过程:a)源代码经预处理生成.i文件;b).i文件经编译器生成.s文件;c).s文件汇编处理生成.o文件;d).0文件经过链接最终生成.exe可执行程序。编译器的主要组件有分析器(源->.s)、汇编器(.s->.o)、链接器(多个.o链接成.exe)。

GCC所支持后缀名解释

GCC执行过程:

a)调用cpp进行预处理,对源码中的文件包含-include头文件、预编译语句-define宏定义进行分析;

b)调用cc1进行编译,生成.o目标文件;

c)调用as进行汇编,汇编文件经预编译和汇编生成.o目标文件;

d)调用ld进行链接,生成.exe可执行文件。

GCC错误类型:

a)C语法错误——syntax error;

b)头文件错误——can not find include file or directory;

c)档案库错误——No such file or directory;d)未定义符号——Undefined symbol。

GCC基本用法和选项、格式如下:

以上四步可用gcc test.c –o test一步执行到位。

补充:-c选项只编译,不连接生成可执行试文件;-o filename输出文件名,不可与源文件同名;-O、-O2对程序进行优化编译/连接,后者比前者更好,但过程会更慢;-Idirectory将dirname目录加入到程序头文件搜索列表;-Ldirname将dirname所指出的目录加入到程序函数档案库文件的目录列表中,dirname是一个绝对路径。

使用Binutils中的readelf –h .exe文件显示elf格式的可执行文件、以及strip .exe文件对其进行瘦身/减小体积。

Gdb调试工具:先使用gcc –g test.c –o test生成带调试信息的可执行文件,然后使用gdb test进行调试;gdb调试中相关命令如下:

补充:gcc -Wall 编译时将所有警告全部都打开

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。