GCC 命令

最后修改时间:2026年5月17日

GCC 是 GNU Compiler Collection 的缩写,是 Linux/Unix 环境中常用的 C/C++ 编译器工具链。它可以编译源文件、生成目标文件、链接静态库或共享库,并通过调试和优化参数控制构建结果。

GCC 语法

$ gcc [options] [source files] [object files] [-o output file]

GCC 选项

常用选项如下:

选项 描述
gcc -c 无需链接即可将源文件编译为目标文件
gcc -Dname[=value] 定义预处理器宏
gcc -fPIC 为共享库生成位置无关的代码
gcc -glevel 生成调试信息以供GDB使用
gcc -Idir 添加头文件的包含目录
gcc -llib 与库文件链接
gcc -Ldir 在目录中查找库文件
gcc -o output file 将构建输出写入输出文件
gcc -Olevel 优化代码大小和执行时间
gcc -shared 生成共享库的共享对象文件
gcc -Uname 取消定义预处理器宏
gcc -w 禁用所有警告消息
gcc -Wall 启用所有警告消息
gcc -Wextra 启用额外的警告消息

GCC 示例

编译file1.cfile2.c并链接到输出文件execfile

$ gcc file1.c file2.c -o execfile

 

运行输出文件execfile

$ ./execfile

 

无需链接即可编译file1.cfile2.c

$ gcc -c file1.c file2.c

 

使用调试信息编译myfile.c并链接到输出文件execfile

$ gcc -g myfile.c -o execfile

 

在启用警告消息的情况下编译myfile.c并链接到输出文件execfile

$ gcc -Wall myfile.c -o execfile

 

编译 myfile.c,并链接位于 /usr/local/math 下的静态库 libmath.a,输出为 execfile

$ gcc -static myfile.c -L/usr/local/math -lmath -o execfile

 

通过优化编译myfile.c并链接到输出文件execfile

$ gcc -O myfile.c -o execfile

GCC 命令生成器

  编程语言:
  编译器:    
  构建类型:  
选项
警告消息级别:  
调试级别:  
优化级别:  
打印编译信息(-v)    
文件/文件夹
源文件:   所有)
目标文件:   所有)
包含目录:  
库文件:    
库目录:  
输出文件:    

复制生成的命令并粘贴到终端中执行。

 

常见问题

  1. gcc -c 有什么作用? gcc -c 只把源文件编译为目标文件,不执行链接,常用于分步构建或生成 .o 文件。
  2. gcc -g 和 gcc -O 可以一起用吗? 可以一起使用,但较高优化级别可能让调试时的代码行对应关系变得不直观。调试阶段通常先用 -g 和较低优化级别。
  3. gcc -Wall 是什么意思? -Wall 会启用一组常见警告,帮助尽早发现潜在代码问题,是日常编译中很推荐开启的选项。

也可以看看

广告

Linux 命令
站点信息