GCC 是 GNU Compiler Collection 的缩写,是一个用于编程语言的编译器,支持多种语言如 C、C++、Fortran、Objective-C、Ada、Go 等。它最初是为 GNU 操作系统开发的,但如今已被广泛应用于各种 Unix-like 系统(包括 Linux)和其他操作系统(如 Windows,通过 MinGW 或 Cygwin)。
sudo apt update sudo apt install build-essential gcc --version GCC 编译器的编译流程主要分为四个步骤:预处理、编译、汇编和链接。
创建一个名为 hello.c 的文件,内容如下:
#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; } 编译该文件:
gcc hello.c -o hello 运行生成的可执行文件:
./hello 输出应该是:
Hello, World! -c:只编译不链接为可执行文件,生成目标文件(.o 文件)。-o:指定输出文件名,默认为 a.out。-O1:启用基本的优化。-O2:启用更多的优化。-O3:启用最高的优化级别。-g:生成调试信息,便于调试。-Wall:显示所有警告信息。-Wextra:显示额外的警告信息。分步编译可以帮助更好地理解编译器的工作流程,并且具有更高的灵活性。
编译源程序文件:
gcc -c main.c -o main.o 链接目标文件:
gcc main.o -o main Makefile 使得多文件项目的编译更加方便。以下是一个简单的 Makefile 示例:
main: main.o input.o calcu.o gcc main.o input.o calcu.o -o main main.o: main.c gcc -c main.c input.o: input.c gcc -c input.c calcu.o: calcu.c gcc -c calcu.c clean: rm *.o main make 命令编译项目在项目目录下运行以下命令:
make make 命令会根据 Makefile 中的规则自动编译和链接项目。
安装 GDB:
sudo apt install gdb 在终端中使用以下命令调试程序:
gdb ./main 在 GDB 中设置断点、单步执行、查看变量等。