我能把SWIFT和C+混在一起吗?比如目标-C.mm文件

我能把SWIFT和C+混在一起吗?比如目标-C.mm文件

我只是将.m文件更改为.mm并使用C+。有没有办法让斯威夫特也这么做?



梦里花落0921
浏览 906回答 3
3回答

BIG阳

没有。当您从.m切换到.mm时,您实际上是从Object-C切换到了另一种语言(它有许多细微的差异),称为Object-C+。因此,您并不真正使用C+;您使用的是Object-C+,它接受大多数C+作为输入(与C+接受最多(但不是所有C)作为输入的方式相同)。当我说它不是完全C+时,考虑一个C+文件,其中包含一个名为nil(这是合法的C+),然后尝试将其编译为目标-C+。斯威夫特的关系不一样。它不是C或C+的超集,您不能直接在.swift档案。使用SWIFT与Cocoa和Object-C还告诉我们:不能将C+代码直接导入SWIFT。相反,为C+代码创建一个目标-C或C包装器。
打开App,查看更多内容
随时随地看视频慕课网APP