stackoverflow 上的几个线程(例如 this one)讨论了不同的优化级别(Onone
、O
、Ounchecked
...)编译 Swift 应用程序。
但是,这些帖子与 OSX 上的开发有关。似乎可以通过 Xcode 或 xcrun (xcrun swift -O3
) 直接设置这些优化。
我想知道在 Linux(Ubuntu 15.10)上直接使用 Swift 编译器时如何切换不同的优化级别。目前,我只是通过调用 swift build
构建应用程序,如文档中所示,但我发现没有办法不改变优化级别。
最佳答案
可以向 Swift 编译器提供 -O
、-Onone
和 -Ounchecked
优化标志,swiftc
。但是,目前似乎没有办法为 swift build
指定额外的标志。例如,请参阅以下链接,即使它没有直接关系:
https://bugs.swift.org/browse/SR-397 .同一份错误报告表明该团队正在积极努力添加此缺失的功能。
我发现解决该问题的一种方法是运行 swift build -v
,找到引用 -Onone
的第一个命令,复制它和所有命令跟随它到 shell 脚本,编辑脚本以使用所需的优化级别而不是 -Onone
,然后运行脚本。这应该使用所需的优化级别重新编译 Swift 源代码并重建可执行文件。
在我的测试中,我发现如果使用 -O
或 -Ounchecked
而不是 -Onone
.
关于linux - Linux 上的 Swift : how to specify compiler optimizations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34569159/