一 编译选项设置

1 Optimization Level 编译器的优化级别

编译策略是对代码编译过程的优化,优化后的代码效率比较高,但是可读性比较差,且编译时间更长。

release模式设置为Fastest, Smallest[-Os] Debug模式设置为None

设置 参数
None 编译器不会尝试优化代码。在开发期间,当您专注于解决逻辑错误并需要快速编译时,请使用此选项。请勿使用此选项来运送可执行文件。
Fast 编译器执行简单的优化以提高代码性能,同时最小化对编译时间的影响。此选项在编译期间也使用更多内存。
Faster 编译器几乎执行所有支持的优化,不需要空时权衡。编译器不使用此选项执行循环展开或函数内联。此选项会增加编译时间和生成代码的性能。
Fastest 编译器执行所有优化以尝试提高生成代码的速度。当编译器执行积极的函数内联时,此选项可以增加生成代码的大小。通常不建议使用此选项。
Fastest, Smallest 编译器执行通常不会增加代码大小的所有优化。这是传送代码的首选选项,因为它为您的可执行文件提供了更小的内存占用。

2 Debug Information Format

debug 模式设置为DWARF

这一项设置的是是否将调试信息加入到可执行文件中,改为DWARF后,如果程序崩溃,将无法输出崩溃位置对应的函数堆栈,但由于Debug模式下可以在XCode中查看调试信息,所以改为DWARF影响并不大。这一项更改完之后,可以大幅提升编译速度。

release 模式设置为DWARF with dSYM File

3 Build Active Architecture Only

  1. 设置为NO的时候,会编译支持的所有的版本
  2. 设置为YES的时候,是为Debug的时候速度更快,它只编译当前的architecture 版本

以上2 和 3 对会对缩短代码的编译时间。

4 Generate Debug Symbols 调试符号

和xcode 默认的一致即可

Generate Debug Symbols设置为YES时,编译产生的.o文件会大一些,当然最终生成的可执行文件也大一些。

Generate Debug Symbols设置为NO的时候,在Xcode中设置的断点不会中断。

5 Enable Bitcode

对应iOS,bitcode是可选的。
对于watchOS,bitcode是必须的。
Mac OS不支持bitcode。

LLVM是目前苹果采用的编译器工具链,Bitcode是LLVM编译器的中间代码的一种编码,LLVM的前端可以理解为C/C++/OC/Swift等编程语言,LLVM的后端可以理解为各个芯片平台上的汇编指令或者可执行机器指令数据,那么,BitCode就是位于这两者直接的中间码. LLVM的编译工作原理是前端负责把项目程序源代码翻译成Bitcode中间码,然后再根据不同目标机器芯片平台转换为相应的汇编指令以及翻译为机器码.这样设计就可以让LLVM成为了一个编译器架构,可以轻而易举的在LLVM架构之上发明新的语言(前端),以及在LLVM架构下面支持新的CPU(后端)指令输出,虽然Bitcode仅仅只是一个中间码不能在任何平台上运行,但是它可以转化为任何被支持的CPU架构,包括现在还没被发明的CPU架构,也就是说现在打开Bitcode功能提交一个App到应用商店,以后如果苹果新出了一款手机并CPU也是全新设计的,在苹果后台服务器一样可以从这个App的Bitcode开始编译转化为新CPU上的可执行程序,可供新手机用户下载运行这个App.

xCode BuildSetting 设置相关推荐

  1. [NewLife.XCode]功能设置

    为什么80%的码农都做不了架构师?>>>    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCod ...

  2. Xcode 中设置部分文件ARC支持

    ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的 ...

  3. 【学习笔记】Xcode常见设置

    一.设置主题和字体大小     二.设置显示代码行号 转载于:https://www.cnblogs.com/dssf/p/4531914.html

  4. XCode中设置字体大小

    1)打开Preferences,快捷键是"Command + ,"(注意,是三个键,按住command键,然后再快速地按"+"和","两个键 ...

  5. Xcode 12设置启动页面

    第一种 准备一张1242 × 2688.PNG的图片 第二种 图片一定要PNG格式,不要直接改后缀名!!!!!!!!

  6. xcode 设置编码区背景颜色为淡绿色

    xcode 编码区设置背景颜色的快捷键: "command + , " 默认的白色背景不适合长期盯着看,设置成淡绿色比较靠谱! Background->RGB数值为:219, ...

  7. 关于Xcode设置网络代理

    https://www.bilibili.com/read/cv13384963 使用过Xcode, 或者使用过swift的的话应该有这种经历, 在Xcode上使用Swift Package Mana ...

  8. Unity 自动化打包XCode工程

    Unity 自动化打包XCode工程 每次打包都要手动修改Xcode的各种配置,于是研究了一下通过Unity提供的API设置XCode的各种配置 XCode签名 在我使用的Unity版本中(Unity ...

  9. xcode修改时间后就要重新编译_iOS 微信编译速度优化分享

    前言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了.记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟.如今用公司配的 17 年款 27-inch iMac 编译要接近半小时:偶然间更 ...

最新文章

  1. 职场观察:高薪需要什么?
  2. Hadoop详解(九):Hadoop Streaming和Pipes原理和实现
  3. PAT甲级1127 ZigZagging on a Tree (30分):[C++题解]之字形层次遍历树bfs实现一层一层读入
  4. Windows消息机制(MFC)
  5. 2020/Province_C_C++_A/F/成绩分析
  6. 若川邀你进 源码共读 群~长期交流学习
  7. 64位虚拟机下asm()语法_用Hyper-V在win10中创建虚拟机,简单快捷,不用安装其它软件...
  8. (80)FPGA面试题-请画出序列“1101 “检测状态转移图
  9. 地产IT人福利:帆软地产BI解决方案全解析
  10. 大学平均绩点计算器_申请韩国名校绩点是不是万能的?
  11. 传统企业信息化的成功案例的一些感想(原创)
  12. 学创客机器人编程材料费贵吗_创客机器人课程容易学习吗
  13. 凯恩帝k1000ti参数设置_KND1000TI系统参数 - 图文 -
  14. 考研数学(二)知识点回顾及笔记(第五章 定积分及应用)
  15. 安旭生物科创板上市:曾遭弃购1400万元,凌世生夫妇控制60%股份
  16. 逆向加固的apk详细教程
  17. 普通计算机怎么算根号_「根号计算器」12、计算机如何实现开根号? - seo实验室...
  18. configuration 配置文件解析
  19. 设计小白也能上手的软件有哪些?
  20. 我有一个自己的数字图书馆

热门文章

  1. 12.MySql关于获取当前时间的三个函数
  2. 词汇的理解 —— 汉译英(术语)
  3. Python函数中的参数(一)
  4. Ajax基础讲解 1
  5. 【转】UIColor对颜色的自定义
  6. 【收藏】Java多线程/并发编程大合集
  7. 《编写有效用例》读书笔记1
  8. 关于登录记住密码使用cookie的详解
  9. PHP处理Oracle的CLOB
  10. nginx和squid配合搭建的web服务器前端系统