gcc 编译器

优质
小牛编辑
155浏览
2023-12-01

gcc 是 GNU 推出的功能强大、性能优越的多平台编译器,是 GNU 的代表作品之一。它能将C、C++语言源程序、汇编语言源程序和目标程序编译、链接成可执行文件,如果没有给出可执行文件的名字,gcc 将生成一个名为 a.out 的文件。

gcc 通过后缀来区分输入文件的类型:

后缀类型
.cC语言源代码文件
.a由目标文件构成的档案库文件
.C|.cc|.cxxC++源代码文件
.h程序所包含的头文件
.i预处理过的C源代码文件
.ii预处理过的C++源代码文件
.mObjective-C源代码文件
.o编译后的目标文件
.s汇编语言源代码文件
.S预编译的汇编语言源代码文件

前面我们已经使用 gcc 编译了一个程序:cc Hello.c

gcc 还有许多选项:

-c只编译,不链接成为可执行文件
-o 文件名设定输出文件名。默认为a.out
-g加入调试符号(默认)。1
-O编译、链接时进行优化,耗时比较多,但产生的可执行文件执行效率更高
-O2更高的优化级别,耗时更多

1

可以使用 gdb 进行调试

使用下面的命令去掉调试符号:

strip --strip-unneeded a.out
strip --strip-debug a.out

不要在库文件上使用 --strip-unneeded