Objective C可以本地编译C语言。 Objective C建立在C.可以快速做同样的事情吗?如果没有区别的话。
答案 0 :(得分:4)
与Objective-C which is a proper superset of C不同,Swift是一种全新的语言。 Swift无法编译C代码,因为语法不兼容。
Swift可以与C代码互操作(有关更多信息,请参阅Interacting with C APIs文章)。但是,API背后的C代码需要使用C编译器单独编译。
答案 1 :(得分:0)
Swift使用swift编译器进行解析,然后使用LLVM进行优化并生成代码。因此,快速编译器无法解析C语法。
ObjectiveC使用clang编译器(可编译C,C ++,ObjectiveC语言),生成用于优化和代码生成的语法树和LLVM。因此,我们可以将C与目标C一起使用。因此Clang可以解析C / C ++ /目标C代码,生成语法树,进行语义分析,而LLVM进行后端编译。