编译过程控制:
-E:预处理,会调用cpp预处理器,但不生成文件。 gcc –E main.c -o main.i
-C : 预处理时,不删除注释信息
-s :生成汇编文件, GCC合并预编译和编译,调用ccl程序完成
-c:将源文件编译成目标文件,但是不链接,调用汇编器as
-o : 输出目标名称, gcc默认编译出来的文件是a.out
-M : 生成文件关联依赖关系
-MD : 和-M相同,但是将输出导入到.d文件里面
-MM : 生成文件关联依赖关系,但忽略#include<file.h>产生的依赖关系
–verbose : 查看GCC工作流程
编译选项设置:
-g : 编译时产生调试信息
-static : 禁止使用动态库
-share : 尽量使用动态库
-Ldir : 指定库搜索路径,默认编译器只在标准库的目录寻找
-llibname : 指定编译时使用的库。 gcc -lname main.c,编译时使用libname.a库
-Idir : 指定头文件搜索路径
-shared : 生成共享目标文件
-w : 不生成任何警告信息
-Wall : 生成所有警告信息
-std=C99 : 指定C标准, gcc默认的标准是GNU C
编译优化选项:
-O0 : 编译器关闭所有优化选项,编译时不会优化代码
-O1 : 缺省值
-O2 : 推荐的优化等级:提高代码性能的同时不会增大文件体积
-O3 : 最高优化级别,不建议使用
-Os : 优化代码尺寸,适合存储资源紧张的系统,不推荐使用
1306

被折叠的 条评论
为什么被折叠?



