源文件.h/.m /.cpp ->预编译 ->编译 ->汇编 ->链接(动态库.a/.lib/.framwork)- 可执行文件
源文件:载入.h、.m、.cpp等文件
预处理:替换宏,删除注释,展开头文件,产生.i文件
编译:将.i文件转换为汇编语言,产生.s文件
汇编:将汇编文件转换为机器码文件,产生.o文件
链接:对.o文件中引用其他库的地方进行引用,生成最后的可执行文件
在App被编译打包成可执行文件格式的Mach-O文件后,交给dyld负责连接,加载程序。
APP启动 ->加载libSystem -> Runtime向注册回调函数 -> 加载新image ->执行map_images Load_imags** ->调用main函数
dyld流程分析 ->dyld_start ->dyldbootstrap::start ->dyld::_main->
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)