命令格式
gcc [选项] 文件
选项
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件 输出到 文件
-------------------------------------------------------------------------------------------------------------------
-ansi 关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性
-static 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
-share 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
-O0
-O1
-O2
-O3
译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
--------------------------------------------------------------------------------------------------------------------------------------
-w 不生成任何警告信息。
-Wall 成所有警告信息。
-g 生成调试信息。GNU 调试器可利用该信息。
--------------------------------------------------------------------------------------------------------------------------------------
gcc -Wall -g -ansi -o exe main.c 使用标准ANSC模式编译,并且生成警告信息和调试信息
gcc -S mian.c 因为gcc的后端是gas汇编器 使用一种古老的A&T汇编语法
gcc [选项] 文件
选项
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件 输出到 文件
-------------------------------------------------------------------------------------------------------------------
-ansi 关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性
-static 此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
-share 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
-O0
-O1
-O2
-O3
译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
--------------------------------------------------------------------------------------------------------------------------------------
-w 不生成任何警告信息。
-Wall 成所有警告信息。
-g 生成调试信息。GNU 调试器可利用该信息。
--------------------------------------------------------------------------------------------------------------------------------------
gcc -Wall -g -ansi -o exe main.c 使用标准ANSC模式编译,并且生成警告信息和调试信息
gcc -S mian.c 因为gcc的后端是gas汇编器 使用一种古老的A&T汇编语法
因此我们可以将其转换成为汇编语言
time ./a.out
real 总耗时
user cpu运行时间
sys 系统调度时间
其他工具:
CPP c预处理器
ld GUN连接器
as GUN汇编器
ar 文件处理器
ldd 库显示
indent 格式化源代码
gprof 查看每个函数被调用的次数和所使用的时间