Xcode编译过程的一些东西

来源:互联网 发布:特别好的句子 知乎 编辑:程序博客网 时间:2024/05/16 14:33
编译过程:

1.预处理(Pre-process):把宏替换,删除注释,展开头文件,产生 .i 文件
2.编译(Compliling):把之前的 .i 文件转换成汇编语言,产生 .s文件
3.汇编(Asembly):把汇编语言文件转换为机器码文件,产生 .o 文件
4.链接(Link):对.o文件中的对于其他的库的引用的地方进行引用,生成最后的可执行文件(同时也包括多个 .o 文件进行 link)

编译器:把源代码文件转换为更为低级的语言,先通过编译器生成机器码(机器码可在CPU上运行、效率高)Xcode使用Clang编译器(C++编写、基于LLVM、发布于LLVM BSD许可证下的C/C++/Objective-C/Objective-C++编译器)把源代码转换为更为低级的LLVM IR,然后LLVM作为中间语言(机器码生成器、架构编译器、由C++编译而成)来进行下一步二进制文件的产出。


编译语言:C++、Objective-C、Swift,需要经过编译器编译才能在CPU上运行

直译式语言:JavaScriptPython,不需要编译过程,而是在执行的时候通过一个中间的解释器将代码解释为CPU可以执行的代码


如图:图片出处请点击我 文章



原创粉丝点击