美文网首页
14期_iOS_编译过程和静态库动态库

14期_iOS_编译过程和静态库动态库

作者: 萧修 | 来源:发表于2023-08-16 01:00 被阅读0次

再进行command+B/R进行调试,Xcode做了一下4个步骤

预处理(prepressing)、编译(Compilation)、汇编(Assembly)、链接(Linking)

  • 预编译:处理代码中#开头的预编译指令,比如删除#define并展开宏定义,并将#include包含的文件插入到该指令位置
#define K_Weakself __weak typeof(self) weakSelf = self;
  • 编译:对预编译处理过的文件进行词法分析,语法分析和语义分析,并进行源码优化,然后生成汇编代码
  • 汇编:通过汇编将汇编代码转换为机器可以执行执行的指令,并生成目标文件.o文件
  • 链接:将目标文件链接为可执行文件,这一过程,链接器将不同的目标文件链接起来,比如UIKit和Foundation中的方法和变量,跟目标文件不在一个地方,需要链接器将它们和代码链接起来

静态库:
指链接时完整拷贝到可执行文件,多次使用多次拷贝,造成冗余,使包变得更大。如.a、.lib都是静态库

动态库:
链接时不复制,程序运行时由系统加载到内存,供系统调用,系统只需加载一次,多次使用,共用节省内存。

相关文章

  • Xcode7中创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • 创建静态库

    一、静态库和动态库的区别: 静态库和动态库是相对编译期和运行期的,静态库以 .a 和 .framework 形式存...

  • 静态库与动态库区别

    本文动态库、静态库区别部分转载自C++静态库与动态库 程序的编译过程如上图 静态库: 之所以成为【静态库】,是因为...

  • iOS静态库及动态库

    2018-06-19 浅析静态库链接原理编译原理以及什么是静态库和动态库 转之: iOS 静态库和动态库(库详解)...

  • Ndk生成so和a库,然后主项目进行调用

    在 NDK 开发中引入第三方静态库和动态库 静态库和动态库 静态库 静态库文件后缀一般为 .a ,利用静态库编译成...

  • iOS 静态库Framework开发(包含静态库,bundle使

    静态库和动态库 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

  • iOS静态库和动态库的使用

    iOS开发中静态库和动态库区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序...

  • iOS开发-动态库加载(实时模块更新)

    动态库和静态库 静态库和动态库是相对编译期和运行期:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改...

  • iOS 创建静态库

    一、静态库和动态库的区别 静态库和动态库是相对编译期和运行期的,在存在形式上,静态库是以 .a 和 .framew...

网友评论

      本文标题:14期_iOS_编译过程和静态库动态库

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