由于某些原因,我试图比较Swift和ObjectiveC的性能。
为了方便起见,我制作了一个简单的Command Line Swift项目,并在其中添加了ObjectiveC代码。
在调试配置中构建并运行即可。
但是“在发布中运行”配置给我以下编译器错误:

命令/Applications/Xcode-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc失败,退出代码为1

当然,可以通过在构 build 置的“优化”级别中设置-Onone来解决此错误。

但是如上所述,我需要在最高性能模式下比较代码。

那就是为什么-Onone不是一个选择。
您可以看看on project here

有谁知道如何摆脱这个错误?

先感谢您!

最佳答案

问题是在扩展方法内部定义的class Array2DlevenshteinDistanceFromStringSwift。我不知道这是否是错误,但是
如果你

  • 将类移至全局级别,或
  • class Array2D更改为struct Array2D

  • 然后您的项目也会编译并在 Release模式下运行。

    10-08 00:34