从C语言调用Swift

8

我看过很多关于如何从Swift调用C函数的文章,但我想探索相反的情况(如果可能),即从C调用Swift函数。

我看到过一些示例,演示了在objC中使用Swift函数,但这并没有使我更接近我的目标。这个任务是否被支持?


仅仅是猜测,但是否定的。你需要从C语言中设置整个Swift运行时环境,这一点根本不好玩,也没有任何意义。从高级语言调用低级别语言是为了性能(或低级别I/O)原因而有意义的。但反过来就很简单——如果你知道我的意思,我就没有适当的词语来形容它。 - qwerty_so
是的,我也会这样假设。如果可能的话,用Swift编写新模块来扩展已有的C项目会很不错。 - sam
哦。就像所说的:反过来我不会有问题,但是这样呢?制作一个Swift脚手架,并重复使用旧的C代码,逐步将其替换为Swift代码。 - qwerty_so
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Troy Harvey
你好,@sam。我现在也处于类似的情况,你找到正确的方法了吗?能否提供一些指导将不胜感激。谢谢! - Lysdexia
1个回答

3

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

这并不是说完全不可能,但需要有人想出类似于NSInvocation的实用工具和对象包装器,以处理没有精确C表示的对象。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接