gpt4 book ai didi

xcode - 如何告诉 Xcode 为 Swift 发出 IR(LLVM Bitcode)?

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:51 28 4
gpt4 key购买 nike

我希望 Xcode 将我的 Swift 源文件编译为位码 (IR) 而不是 Mach-O 对象。我知道您可以使用 emit-ir 标志调用 swift 编译器,但是将它添加到“其他 Swift 标志”对我不起作用。该标志是为对 swiftc 的初始调用设置的,但它不会在对 swift 的后续调用中显示为参数。结果,我得到了 Mach-O 64 位对象 文件。

对于 Objective-C,我可以通过将 emit-llvm 标志添加到 clang 或启用 LTO 来简单地实现这一点。我应该为 Swift 做什么?

我正在使用 Swift 2.2 运行最新的 Xcode (7.3)。

编辑: 我想出了一个解决方法,我用一个脚本替换了 swift 编译器,该脚本将 -emit-bc 附加到参数列表并将其转发到 swiftc。但是,将它添加到 Xcode 中的 Swift 编译器标志也不起作用。

最佳答案

Swift 前端和 Swift 编译器都有一个很好的选项 -help-hidden(顺便说一句,clang 也有这个选项)。

除了其他隐藏选项外,还有一个名为 -Xfrontend 的选项。您可以使用它直接为 Swift 编译器 (swiftc) 传递任何参数:-Xfrontend -emit-bc

它确实有效,但它会导致链接器错误,因为不再有目标文件。

关于xcode - 如何告诉 Xcode 为 Swift 发出 IR(LLVM Bitcode)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37542035/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com