如果我使用iOS Single View Application模板创建Xcode项目并为该语言选择Swift,那么编译器是否会从发布构建(二进制)函数中排除那些永远不会被调用的函数?
我想知道,因为我想要包含一个有很多多余课程的第三方图书馆。功能,我想保持我的应用程序小而且快。
答案 0 :(得分:2)
虽然我同意评论,但即使它被包括在内,也不太可能以任何重要的方式影响表现......
Xcode 6使用Apple LLVM编译器版本6.1,具体取决于与LLVM开发人员组版本的密切关系,优化功能可用http://llvm.org/docs/Passes.html,其中包括-dce:Dead Code Elimination,-adce:Aggressive Dead等选项代码消除。
确定所包含内容的一种方法是使用swift编译器中的-emit-assembly选项检查程序集输出并查看输出,或者在反汇编程序(如Hopper(http://www.hopperapp.com/download.html)<中打开二进制文件/ p>