这是一个简单的问题,然而在当前开发文档中并没有直接的回答。
Swift是否编译为机器语言(例如汇编),或者编译成某种中间形式,然后在虚拟机上运行?
(我认为它会编译成某种中间形式,但对于不熟悉苹果开发世界的人来说,这可能并不明显。)
是的,通过LLVM位代码编译成机器语言,并像@connor所说的那样,在Objective-C运行时之上运行。
Swift和Objective-C一样,使用llvm编译为本地代码。
在苹果公司的顶级机密Swift语言起源于维持Objective C的工作,现在旨在取代它的文章中有一个很好的解释。
从该文章中可以看出,Swift被优化为开发性能,而且不会牺牲性能或开发效率。
Swift和Objective-C一样,编译成可在Objective-C运行时上运行的机器代码。
@objc
的),但是它拥有自己的运行时来完成其他几乎所有的功能。 - Vatsal Manot
swiftc
进行本地编译。 - masoud