我只是把我的.m文件更改为.mm并使用C。有什么办法做同样的Swift?
不是。当从.m切换到.mm时,实际上是从Objective-C切换到另一种称为Objective-C的语言(它有许多细微的差别)。所以你不是真的使用C;你使用Objective-C接受大多数C作为输入(以同样的方式C接受大多数但不是所有的C作为输入)。当我说它不是C,考虑一个C文件,包括一个变量名为nil(这是合法的C),然后尝试编译为Objective-C。
原文链接:https://www.f2er.com/swift/321640.htmlSwift没有相同的关系。它不是C或C的超集,并且不能在.swift文件中直接使用。
“Using Swift with Cocoa and Objective-C”也告诉我们:
You cannot import C++ code directly into Swift. Instead,create an Objective-C or C wrapper for C++ code.