01-iOS底层原理学习 | 开篇

262 阅读1分钟

大神链接

1.程序在计算机工作流程
流程图.jpg
  • 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包

iOS代码编译流程.jpg

  • 高级语言(OC/Swift)-->编译器前端(Clang/SwiftC)-->优化器-->编译器后端(LLVM)-->对应架构(x86、ARM64、armv7)的可执行文件,二进制程序包