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 中设置断点、单步执行、查看变量等。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu18.04安装gcc教程