【问题标题】:Calling Swift from C从 C 调用 Swift
【发布时间】:2015-06-11 20:26:28
【问题描述】:

我看过很多文章解释如何从 Swift 调用 C 函数,但我想探索相反的(如果可能的话),从 C 调用 Swift 函数 .

我已经看到了说明 objC 中的 Swift 函数的示例,但是这些并没有让我更接近我的目标。甚至支持此任务吗?

【问题讨论】:

  • 只是猜测,但不是。您需要从 C 为 Swift 设置整个运行时,这一点都不好玩,也没有任何意义。出于性能(或低级 I/O)的原因,从高级语言调用低级是有意义的。但反之亦然,这很简单 - 如果你知道我的意思,我没有合适的词。
  • 是的,我会假设类似。如果可能的话,用 Swift 编写的新模块扩展用 C 编写的现有项目会很好。
  • 嗯。如前所述:反之亦然,但这样我不会有问题?制作一个 Swift 脚手架并重用您的旧 C 代码,逐步将其替换为 Swift 代码。
  • 作为一种以谨慎的方式开始涉足 swift 的方法,在现有 C 应用程序下仅在 Swift 中编写一个子模块开始更具吸引力,而不是重写 C 的上半部分代码库。
  • 你好@sam 我现在也有类似的情况,你找到正确的方法了吗?一些指导方针将不胜感激。谢谢!

标签: c xcode swift swift2


【解决方案1】:

唯一支持从 C 代码调用 Swift 代码的方法是在两者之间使用 Objective-C。

这并不是说这完全不可能,但是必须有人想出一个类似NSInvocation 的实用程序和用于不具有精确 C 表示的对象的包装器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-04
    • 2014-07-23
    • 1970-01-01
    • 2014-12-04
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多