Swift是否会编译为本地代码?

简单的问题,但是在目前的开发者文档中似乎没有直接的答案。

Swift是否可以编译为机器语言(即汇编),还是编译成某种中间forms,然后在虚拟机上运行?

(我怀疑它确实存在,但是对于苹果世界的发展不熟悉,我不知道它对于某个人来说可能是这样)。

是的,它通过llvm位代码编译为机器语言,正如@connor所说,它运行在Objective-C运行时之上。

Swift不仅编译为本地机器代码,而且还专门为它devise 。 与例如专门devise为JITed语言的Java不同。 我的意思是,Swift通过提前编译实现了最佳性能,而JITing则从Java中获益最多。

这些deviseselect有很多原因,其中Swift比Java这样的pipe理语言的范围要大得多。 它应该在台式电脑和手机上使用更多的硬件。 与C#,Java或Python不同,您可以将Swift用作系统编程语言,因为它具有很less的运行时间要求,并且允许对内存进行相当详细的控制。 所以理论上应该可以用Swift构build一个操作系统内核,这对于说Java是很困难的。

像Objective-C一样,Swift被编译成在Objective-C运行时运行的机器代码。

Swift就像objective-c使用llvm编译为本机代码

一个很好的解释可以发现, 苹果公司的绝密Swift语言从工作发展到维持目标C,目前它的目标是取代

从那篇文章谈起Swift

编译器针​​对性能进行了优化,并且语言针对开发进行了优化,而无需牺牲任何一种。