首先我们要明白两个概念,源程序和目标程序,源程序:是指用源语言写的,有待翻译的程序,如我们自己写的一段c代码,这段代码只有我们自己能看懂,计算机是不懂,计算机只能理解二进制。目标程序:源程序通过翻译程序加工以后生成的机器语言程序。这是计算机可以理解的语言。把源程序转化为目标程序的操作就叫做编译。
链接
C语言代码经过编译以后,会变成了二进制形式的目标文件(Object File)对于 Visual C++,目标文件的后缀是.obj
,对于 GCC,目标文件的后缀是.o
。但此时的代码还不能运行起来。因为它还需要和系统提供的组件(比如标准库)结合起来,这些组件都是程序运行所必须的。例如我们要在屏幕中输出字符,这必须调用系统提供的库才能够实现。
这就是链接,经过链接才会生成 可执行程序 (如 win 平台上的exe)