快速支持C原生吗?

时间:2016-06-11 12:23:47

标签: ios swift

Objective C可以本地编译C语言。 Objective C建立在C.可以快速做同样的事情吗?如果没有区别的话。

2 个答案:

答案 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进行后端编译。