Gcc编译C程序常用选项

2014-11-24 07:37:43 · 作者: · 浏览: 2

Gcc编译C程序常用选项


-o 指定目标文件名


-std=c99 用C99标准编译


-Wall 警告全开


-c 只编译不链接,生成中间文件


-g 生成调试信息


-O0 : 默认不优化(若要生成调试信息,最好不优化)


-O1 : 简单优化,不进行速度与空间的权衡优化;


-O2 : 进一步的优化,包括了调度。(若要优化,该选项最适合,它是GNU发布软件的默认优化级别;


-O3 : 鸡肋,兴许使程序速度更慢;


-funroll-loops : 展开循环,会使可执行文件增大,而速度是否增加取决于特定环境;


-Os : 生成最小执行文件;


-llibname 链接指定库


注意GCC在链接库的过程中对参数中库的顺序是有要求的,参数右侧的库会先于左边的库加载。


假如你要链接pthread库,编译命令可能是这样的:gcc -std=gnu99 -Wall -o server *.c -lpthread


但不能是这样的:gcc -std=gnu99 -Wall -lpthrad -o server *.c #-lpthread必须放在后面。