GCC语法结构
注:以下文件名称binFile
表示编译后的文件,srcFile
表示编译前的源文件
基本选项
gcc [options] [srcFile]
-c
:只是编译不连接,生成目标文件.o
-S
:只是编译不汇编,生成汇编代码
-E
:只进行预编译,不做其他处理
-g
:在可执行程序中包含标准调试信息
-o binFile
:指定输出文件
-v
:打印出编译器内部编译各过程的命令行信息和编译器的版本
-std=name
:指定c语言的标准(如:c99等)
-I dir
:在头文件的搜索路径列表中添加dir目录
-I dir
:在头文件的搜索路径列表中添加dir目录
优化选项
gcc -O1 [-o binFile] [srcFile]
-O
:减小代码的长度和执行时间,效果等价于-O1,其中包括线程跳转和延迟退栈。
-O2
:除完成所有-O1级别的优化之外,同时还要进行一些额外的调整工作,如处理器指令调度等。
-O3
:除完成所有-O2级别的优化之外,还包括循环展开和其他一些与处理器特性相关的优化工作。
数字越大优化的等级越高,也就意味着程序的运行速度越快。一般选用-O2
选项,它在优化程度、编译时间和代码大小之间取得了一个较为理想的平衡点。
使用time [binFile]
来查看编译所需时间。
警告和出错选项
gcc -Wall [-o binFile] [srcFile]
-ansi
:支持符合ANSI标准的C程序。
-pedantic
:允许发出ANSI C标准所列的全部警告信息
-pedantic-error
:允许发出ANSI C标准所列的全部错误信息
-w
:关闭所有的警告
-Wall
:允许发出GCC所提供的所有有用的警告信息,项目中为了有更好的可移植性,需检查各种告警信息