c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解...

不像高级编程语言,在C语言开发中,了解其编译链接过程显得相对重要,因为C语言是较为底层的语言,很多时候我们调试C程序或者解决其它问题都可能会涉及到C编译链接的相关知识,例如编译动态库或者静态库。下面我们一起来了解一下C程序的编译链接过程,结合一些实例更好了解其中的原理,这里使用的编辑器是linux的vim,编译器使用GCC。

C程序编译的起始点为源代码(hello.c),结果为可执行的字节码文件,C程序的整体编译链接过程如下图所示:

c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解..._第1张图片

在整个过程中,最重要的两个环节为编译阶段和链接阶段,编译由编译器完成,链接由链接器完成,编译器的最主要功能是将C源代码编译成中间代码即目标代码,链接器的功能是将目标代码和库文件代码链接成可执行代码,即可执行程序。链接器涉及的结构不会太复杂,一般会由编译器自动调用,我们使用编译器编译源代码的时候,编译器会自动调用链接器完成代码生成。C程序详细编译链接过程如下:

c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解..._第2张图片

下面我们就预处理、编译、汇编、链接进行详细解释,并且结合操作实例进行理解。

一、预处理(Preprocess)

你可能感兴趣的:(c语言程序链接过程)