深色模式
编译与链接
c(c++)程序的生成过程: 编写源代码->编译->链接 。对应的各个阶段处理的文件的扩展名为: .c或.cpp->.obj->.exe。
c语言的编译、链接
何为编译?
首先我们要明白两个概念,源程序和目标程序,源程序:是指用源语言写的,有待翻译的程序,如我们自己写的一段c++代码,这段代码只有我们自己能看懂,计算机是不懂,计算机只能理解二进制。目标程序:源程序通过翻译程序加工以后生成的机器语言程序。这是计算机可以理解的语言。把源程序转化为目标程序的操作就叫做编译。
何为链接?
C语言代码经过编译以后,会变成了二进制形式的目标文件(Object File)--- 对于 Visual C++,目标文件的后缀是**.obj**,对于 GCC,目标文件的后缀是**.o**。但此时的代码还不能运行起来。因为它还需要和系统提供的组件(比如标准库)结合起来,这些组件都是程序运行所必须的。例如我们要在屏幕中输出字符,这必须调用系统提供的库才能够实现。
这就是链接,经过链接才会生成 可执行程序 (如 win 平台上的exe)
总结
不管我们编写的代码有多么简单,都必须经过「编译 --> 链接」的过程才能生成可执行文件:
- 编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以目标文件的形式存在;
- 链接就是一个“打包”的过程,它将所有的目标文件以及系统组件组合成一个可执行文件。