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所提供的所有有用的警告信息,项目中为了有更好的可移植性,需检查各种告警信息