我在MAC OS X 10.8上使用XCode 4.6。
我是这个IDE和平台的新手。 我有一个我编译的项目,XCode关闭了优化。
如果我设置发布方案,那无关紧要。
我在名为" Cannot Disable Debugger with XCode 4.5"的帖子中看到了它与旗帜' -O0'有关。和' -Os'。 我知道有些标志设置"调试模式"这意味着不进行优化,代码生成更多数据以帮助调试。 我无法在XCode中找到控制此行为的单个参数(与VS中的/ Mtd一样)。
XCode选项中的哪个参数控制此参数?
此外,在VS中,很容易将构建参数看作命令行(在选项下,链接器和构建)。 我在XCode哪里可以看到它?
感谢。
答案 0 :(得分:6)
所有编译器和链接器标志都可以在项目或目标的“构建设置”中找到(目标可以覆盖其项目的设置)。要到达那里,选择项目文件,然后选择当前目标,并转到“构建设置”。选择顶部的“全部”和“级别”可显示所有可用选项及其设置位置(项目或目标 - 最左侧获胜)。
选项被分组,例如链接器选项和编译器选项,其中大多数引用标志。 Xcode显示描述性名称而不是完整的标志名称。要查看后者,请选择感兴趣的行,然后在右侧面板中选择“快速帮助检查器”(“实用程序”面板)。您似乎要寻找的标志在Xcode中称为“优化级别”。
您可以设置每个选项的值,Xcode可以在原始值旁边显示一些元信息,例如-Os
的“最快,最小”或-O0
的“无”。您可以单独为每个配置(默认情况下为Release和Debug)设置所有选项。实际使用哪种配置取决于您的构建操作。如果你建立& run,默认使用Debug。如果归档应用程序,则默认使用Release。但是,您可以通过编辑方案来更改大部分内容。
<强>更新强> 要了解Release和Debug配置之间的差异,请查看给定目标的“Build Settings”。如果选项的值在两种配置(或您可能具有的任何其他配置)上不同,则选项名称前面会出现一个箭头,表示不同的值。例如,采用“仅建立活动架构”设置。在调试模式下,它假定您为特定的测试设备构建,因此不需要包含为其他平台生成的代码。但是,如果您构建应用程序以进行分发,则需要构建一个包含所有目标设备/硬件体系结构代码的应用程序。
其他选择: -Debug信息格式:存储调试信息(崩溃报告)的方式。在发布模式下,将其设置为“带有dSym的DWARF”,这意味着您的崩溃报告已加密,因此其他任何人都无法从中获取有意义的信息(符号名称)。
- 复制期间的条带调试符号
-Optimization Level,如上所述
-Preprocessor宏:这允许您(静态地)使代码依赖于构建配置,例如,仅以调试模式登录
Xcode在上述“快速帮助检查器”中提供了有关所有这些选项的更多(可能更准确)信息,只需选择任何选项。
根据我的经验,尽管进行了优化,但版本构建通常更快(即,它们构建更快)并且尺寸肯定更小。