gcc 编译控制选项

Posted 超超酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc 编译控制选项相关的知识,希望对你有一定的参考价值。

gcc 编译控制选项
前面已经讲过, gcc 的基本用法是:
$ gcc [选项] [文件名]
gcc 有很多编译控制选项,使得 gcc 可以根据不同的参数进行不同的编译处理,可供 gcc
调用的参数大约有 100 来个,但实际使用中并不会用到这么的多选项和参数。这里只介绍一
些最基本和常用的控制选项以及参数,如表 10.3 所列。
10.3 gcc 常用选项和参数

名称 功能描述
-c 只编译不链接。编译器只是将输入的.c 等源代码文件生成.o 为后缀的目标文件,通
常用于编译不包含主程序的子程序文件
-S 只对文件进行编译,不汇编和链接
-E 只对文件进行预处理,不编译汇编和链接
-o output_filename 确定输出文件的名称为 output_filename,这个名称不能和源文件同名。如果不给出
这个选项, gcc 就给出预设的可执行文件 a.out
-g 产生符号调试工具(GNU gdb)所必要的符号信息,要想对源代码进行调试,就必
须加入这个选项。 g 也分等级,默认是-g2-g1 是最基本的, -g3 包含宏信息
-DFOO=BAR 在命令行定义预处理宏 FOO,值为 BAR

 

-O 对程序进行优化编译、链接。采用这个选项,整个源代码会在编译、链接过程中进
行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速

 

度就相应地要慢一些
-ON 指定代码的优化等级为 N,可取值为 0123O0 没有优化, O3 优化级别最高
-Os 使用了-O2 的优化部分选项,同时对代码尺寸进行优化
-Idirname dirname 目录加入到程序头文件搜索目录列表中,是在预编译过程中使用的参数
-L dirname dirname 目录加入到库文件的搜索目录列表中
-l FOO 链接名为 libFOO 的函数库
-static 链接静态库
-ansi 支持 ANSI/ISO C 的标准语法,取消 GNU 语法中与该标准相冲突的部分
-w 关闭所有警告,不建议使用
-W 开启所有 gcc 能提供的警告
-werror 将所有警告转换为错误,开启该选项,遇到警告都会中止编译
-v 显示 gcc 执行时执行的详细过程, 以及 gcc 和相关程序的版本号



以上是关于gcc 编译控制选项的主要内容,如果未能解决你的问题,请参考以下文章

查看控制编译优化的选项

AIX 的 XL 编译器的 -qfuncsect 选项的 gcc 等效选项是啥?

GCC选项

arm gcc 内嵌汇编,gcc该是啥选项呢

gcc 常用编译选项

GCC 编译选项