gcc命令来自英文词组GNU Compiler Collection的缩写,是C/C++语言编译器。gcc是开源领域使用最广泛的编译工具,具有功能强大、兼容性强、效率高等特点。
编译工作由4个阶段组成:预编译(Preprocessing)、编译(Compilation)、汇编(Assembly)、链接(Linking)。
语法格式:gcc 参数 文件名
常用参数:
-B | 将指定目录添加到搜索路径 | -v | 显示编译器调用的程序 | |
-c | 仅执行编译,不进行链接操作 | --help | 显示帮助信息 | |
-E | 仅执行编译预处理 | --pipe | 使用管道符 | |
-l | 设置头文件 | --shared | 创建动态共享库 | |
-L | 设置链接库 | --static | 使用静态链接 | |
-o | 指定要生成的输出文件 | --time | 设置每个子流程的执行时间 | |
-S | 将C代码转换为汇编代码 | --version | 显示版本信息 |
参考示例
编译指定的源码文件:
[root@linuxcool ~]# gcc File.c
编译指定的源码文件,并生成可执行文件:
[root@linuxcool ~]# gcc File.c -o linux
对指定的源码文件进行预处理:
[root@linuxcool ~]# gcc -E File.c -o linux.i
对预处理后的指定文件进行汇编操作:
[root@linuxcool ~]# gcc -S File.i -o linux.s
对汇编处理后的指定文件进行编译操作:
[root@linuxcool ~]# gcc -c File.s -o linux.o
对编译处理后的指定文件进行链接操作:
[root@linuxcool ~]# gcc File.o -o linux