一、Linux GCC常用命令
1 新建一个文件test,代码如下:
#include <stdio.h>
int main(void)
{
printf("Hello World!\n"); return 0; }
直接编译指令如下:
gcc test.c -o test
实际上编译过程有四个阶段,即预处理(也称预编译,Preprocessing)、编译 (Compilation)、汇编 (Assembly)和连接(Linking)。
2 编译过程
2.1 预处理
gcc -E test.c -o test.i 或 gcc -E test.c
gcc 的-E 选项,可以让编译器在预处理后停止,并输出预处理结果。
2.2 编译为汇编代码(Compilation)
gcc -S test.i -o test.s
gcc 的-S 选项,表示在程序编译期间,在生成汇编代码后,停止,-o 输出汇编代码文件。
2.3 汇编(Assembly)
gcc -c test.s -o test.o
gas 汇编器负责将test.s编译为目标文件。
2.4 连接(Linking)
gcc test.o -o test
gcc 连接器将程序的目标文件与所需的所有附加的目标文件(静态连接库和动态连接库)连接起来,最终生 成可执行文件。
2.5 执行命令
./test
显示如下:

本文详细介绍了Linux环境下GCC编译工具的常用命令,包括预处理、编译、汇编和链接的步骤。同时,讲解了多文件编译、错误检查选项如-pedantic和-Werror,以及库文件的链接。此外,还探讨了GCC编译器背后的故事,如Binutils工具集的作用,C运行库,以及汇编语言在Ubuntu下的应用。文章通过实例展示了如何从源代码到可执行文件的完整过程。
最低0.47元/天 解锁文章
1402

被折叠的 条评论
为什么被折叠?



