Objective C 能够原生编译 C 代码。Objective C 是在 C 的基础上构建的。Swift 是否能做到相同的功能呢?如果不能,那么它们之间有什么区别呢?
Swift使用Swift编译器进行解析,然后使用LLVM进行优化和代码生成。因此,Swift编译器无法解析C语法。
由于ObjectiveC使用clang编译器(它编译C、C++、ObjectiveC语言),可以生成语法树并使用LLVM进行优化和代码生成。因此,我们可以在Objective C中使用C。因此,Clang可以解析C/C++/Objective C代码,生成语法树,进行语义分析,而LLVM则进行后端编译。