美文网首页
项目编译的流程,从点击app图标到首屏内容展示都经历了什么?

项目编译的流程,从点击app图标到首屏内容展示都经历了什么?

作者: Orz__ | 来源:发表于2020-08-24 11:12 被阅读0次

    编译流程:

    • 预处理:处理宏定义,删除注释,展开头文件。
    • 词法分析:把代码切成一个个token,比如大小括号等于号还有字符串
    • 语法分析:验证语法是否正确,合成抽象语法树AST
    • 静态分析:查找代码错误
    • 类型检查:动态和静态
    • 目标代码的生成与优化,包括删除多余指令,选择合适的寻址方式,如果开启了bitcode,会做进一步的优化
    • 汇编:由汇编器生成汇编语言
    • 机器码:由汇编语言转成机器码,生成.o文件
      应用启动的流程:
      启动的前提是完成编译,运行程序即运行编译过后的目标程序,它分为main函数前和main函数后:
      main前
    • 加载可执行文件(App的.o文件集合)
    • 加载动态链接库(系统和应用的动态链接库),进行rebase指针调整和bind符号绑定
    • Objc运行时的初始处理,包括Objc相关类的注册,category注册,selector唯一性检查
    • 初始化,包括执行+load()、attribute(constructor)修饰的函数的调用、创建C++静态全局变量
      main后
    • 首页初始化所需要配置文件的读写操作
    • 首页界面渲染

    相关文章

      网友评论

          本文标题:项目编译的流程,从点击app图标到首屏内容展示都经历了什么?

          本文链接:https://www.haomeiwen.com/subject/qaagjktx.html