gcc常用选项总结

给你一囗甜甜゛ 提交于 2020-03-09 02:14:34

一般常说的“编译”包含预编译、编译,汇编,链接4个动作。使用gcc编译时,如果不带任何编译选项,gcc默认会执行4个动作最后生成a.out可执行模块。在某些情况下使用gcc的选项很有用。

 

一,查看详细的编译过程

 -v 选项:有两个作用。除了查看gcc版本之外,在编译时带上该选项可以看到详细的编译过程。比如分别执行编译,汇编,链接等命令,并且查看到使用的标准启动文件crt1.o, crti.o等,标准库文件libc,libgcc等

  gcc -v -o app hello.c

 

二,查看预处理的结果

-E 选项:仅预编译。该选项分析代码时很有用。如果宏定义很复杂,比如宏定义嵌套时,使用该选项可以看到宏展开后具体值。

  gcc -E hello.i hello.c

另外在预处理结果文件中可以看到,其他头文件中数据类型和函数声明在结果文件中的声明。

 

三,将编译和链接分开

 -c 选项:指定仅编译和汇编,生成的结果是目标文件。gcc默认执行便和链接,如果一个工程中有多个源文件,使用该选项把编译和链接动作分开,提高编译效率。

   gcc -c -o aaa.o aaa.c

   gcc -c -o bbb.o bbb.c

   gcc -o app aaa.o bbb.o

 

四,其他常用选项

-S 选项:仅编译,不执行汇编和链接,生成的结果是汇编代码文件。

-static 指定编译时静态链接库文件。

 

五,嵌入式常用选项

在编译嵌入式裸机程序时,使用-nostdlib和-nostartfiles选项,指示不要使用标准启动文件和标准库文件。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!