简单的问题,但在当前的开发人员文档中似乎没有直接的答案.
Swift编译成机器语言(即汇编),还是编译成某个中间形式然后在虚拟机上运行?
(我怀疑它确实如此,但是对苹果世界的发展不熟悉,我不清楚它是否可能是某个人.)
Dav*_*rry 30
是的,它通过llvm位代码编译为机器语言,并且正如@connor所说,它运行在Objective-C运行时之上.
Eri*_*eim 19
Swift不仅编译为本机机器代码,而且还专门为它设计.与例如专门设计为JITed语言的Java不同.我的意思是,Swift通过提前编译实现了最佳性能,而Java从JITing中获益最多.
这些设计选择有很多原因,但其中包括Swift比Java等托管语言有更大的范围.它应该适用于具有更多受限硬件的台式计算机和电话.您可以将Swift用作系统编程语言,这与C#,Java或Python不同,因为它几乎没有运行时要求,并且允许对内存进行相当详细的控制.所以从理论上讲,应该能够用Swift构建一个操作系统内核,用Java来说这很难.
Swift,就像objective-c使用llvm编译为本机代码一样
苹果公司最高机密的Swift语言可以从工作中发展成为一个很好的解释,以支持Objective C,它现在的目标是取代它
从那篇文章,谈论斯威夫特
编译器针对性能进行了优化,并且语言针对开发进行了优化,而不会影响任何一种.
像Objective-C一样,Swift被编译为在Objective-C运行时运行的机器代码.
归档时间: |
|
查看次数: |
28646 次 |
最近记录: |