1.程序在计算机工作流程
- 1.用高级语言编好的程序代码存储到硬盘;
- 2.使用IDE运行程序,程序先编译生成二进制可执行文件加载到内存;
- 3.二进制文件在内存中运行,都会有基于该高级语言运行的依赖环境(Java的JVM、OC/Swift的runtime、Node.js的Node、运行在Chrome中的H5其运行环境Chrome的V8引擎、运行在Safari中的H5其运行环境Safari的JavaScriptCore);
- 4.二进制执行文件在内存运行时,计算和控制都是由CPU处理,如果有图形界面需要用到GPU;
- 5.二进制程序可以通过CPU控制计算机硬件(显示器、音响、键盘、话筒、蓝牙等)
2.iOS代码编译流程
OC/Swift 编写的iOS程序经过Xcode编译输出ipa包
- 高级语言(OC/Swift)-->编译器前端(Clang/SwiftC)-->优化器-->编译器后端(LLVM)-->对应架构(x86、ARM64、armv7)的可执行文件,二进制程序包