【问题标题】:Is it possible to write inline assembly in Swift?是否可以在 Swift 中编写内联汇编?
【发布时间】:2014-08-06 10:41:05
【问题描述】:

我想知道你是否可以在 Swift 中编写内联汇编。

我知道在 Objective-C 中你可以使用这样的东西:

inline void assemblyFunc() {
    __asm__(/*Assembly*/);
}

但在 Swift 中,您似乎不能使用 __asm__(/*Assembly*/)

如果可能的话,有谁知道如何使用__asm__()。 我还没有找到任何关于它的信息,所以我认为这是一个很好的问题。

【问题讨论】:

  • 没有内联汇编支持。如果此功能对您很重要,请报告错误。
  • Swift主要是为iOS平台的入门级开发者设计的。
  • @holex 我不这么认为。 Swift 旨在更具表现力,并在性能不是第一优先的情况下(大多数情况下)让开发人员更有效率
  • Apple 的开发人员或 Swift 营销材料中没有任何地方说它只针对或主要针对新开发人员。正如@Jiaaro 所说,它旨在提高所有开发人员的生产力。 (而且它的设计速度很快,即使在 Beta 版中并非总是如此。)

标签: swift inline-assembly


【解决方案1】:

Swift 本身没有办法。如果您需要这个,可能是利用 Swift-ObjC 互操作的好机会。

【讨论】:

    【解决方案2】:

    为了扩展 Robert Levy 所说的内容,您可以使用 Swift/Obj-C 互操作功能,并编写一个执行 ASM 工作的 Obj-C 类,然后您可以从 Swift 中调用它。

    这是一个烦人的解决方法,但它仍然可以工作。

    您可以阅读有关如何操作的更多信息 [here]

    【讨论】:

    • 你是在重复 Robert Levy 的回答吗?
    • 不,他正在构建它。 Robert 并没有确切地解释要做什么,只是为了“利用”一个功能。电动咖啡实际上解释了解决方案,提问者应该采取什么步骤。
    • @milesper “解释”是“写一个 ObjC 类”?该死,我忘了包括那个澄清
    • 我进一步扩展了我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    相关资源
    最近更新 更多