编译

源码、编译代码和可执行文件

在创建源码后,需要计算机将源码编译成可执行的指令。这个过程叫做编译。

几个步骤:

1.预编译。可以将预编译想象成计算机为编译代码所进行的准备。这一步中,编译器会移除一些注释等不会变为可执行的代码。同时也会展开部分代码并重新排列某些指令,以使得编译的第二步更加高效。编译第一步的结果就是一个源代码的中间状态。你通常不会看 到或处理代码的这种中间状态,但利用编译器选项可以在你想看输出结果时让编译停止在该阶 段。一些进行高级开发的程序员有时会使用这些编译选项来查看中间文件和编译器具体的工作过 程。在通常的应用开发中可能永远也用不着这样做。 

2.编译。预编译后,第二步就是编译器将源代码真正转变成目标文件。目标文件的扩展名是.o。编译 源码可能会花很长时间,因为要编译很多不同的模块和不同的源码文件。在某些模块自身以及依 赖的模块都没有改变的情况下,不重新编译这些模块可以大大缩短编译时间。因此,目标文件通 常会存储在编译目录中。在上次编译后源码文件没有改变的情况下,编译器就会跳过该源码文件 的编译并复用上次编译产生的目标文件。通常,在日常使用中也不需要查看这些文件。它们仅供 编译器使用。 

3.链接。编译的最后一步称作链接。链接就是将上一步生成的目标文件连接起来以形成可执 行程序。除了目标文件外,库和框架也会被链接到可执行程序中。链接过程的结果就是实际的应 用可执行文件。在命令行应用中,链接的结果就是一个可以在命令行运行的二进制文件。而在桌 面应用中,结果通常是一个应用包,也就是硬盘上的一个包含可执行程序和图片、声音等运行应 用所需资源的目录。 

 (来自:学好objecti-c)

posted @ 2015-04-11 19:31  偏未晚  阅读(199)  评论(0编辑  收藏  举报