学习C语言,了解它的编译过程是很重要的,特别是针对以后我们在linux或者Unix操作系统上进行程序开发的时候,所以本节学习C语言的编译过程。
首先给出C语言编译过程的示意图,如下:
看完编译过程,我们还要亲身体验一下编译过程,下面介绍C语言在Linux下的编译器gcc的编译选项:
-o:表示指出C语言编译生成的文件名。
-E:表示对C语言进行预编译。
-S:表示对C语言进行反汇编。
-c:表示对C语言进行汇编。
ldd:表示查看C语言生成最后的可执行代码的所链接的库。
举个例子,比如我们有一个hello.c的C语言源文件,下面我们对它进行编译:
gcc -o hello.i -E hello.c
gcc -o hello.s -S hello.i
gcc -o hello.o -c hello.s
gcc -o hello hello.o
经过上面的步骤我们就可以看到生成了hello.i hello.s hello.o hello这几个文件然后我们用./hello命令执行生成的可执行文件,发现程序正常运行。
好的,C语言的编译过程讲解到此结束。