linux下编译c文件的过程(gcc)

1. 源代码编译处理:在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。

gcc -E hello.c -o hello.i


2. 经过编译器,生成汇编代码:

gcc -S hello.i -o hello.s


3. 经过汇编器,生成目标代码:

gcc -c hello.s -o hello.o


4. 经过链接器(负责将程序的目标文件与所需的所有附加的目标文件连接起来,附加的目标文件包括静态连接库和动态连接库),生成可执行程序:在链接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

gcc hello.o -o hello


5. 运行可执行文件:

./hello


6. 上述步骤可以放在一起执行,gcc内部自动进行一系列处理:

gcc hello.c -o hello

./hello


linux下编译c文件的过程(gcc)_第1张图片



你可能感兴趣的:(Linux)