美文网首页
静态库和动态库的区别

静态库和动态库的区别

作者: hallfrita | 来源:发表于2018-10-18 14:47 被阅读0次

可执行文件

源代码是如何编译成可执行文件的呢?我们可以通过clang -ccc-print-phase main.m命令查看

clang查看.png

可见将程序编译成可执行文件的步骤:
源代码 --> 预处理器 --> 编译器 --> 汇编 --> 机器码 --> 链接 --> 可执行文件

静态库和动态库的区别

库:库就是写好的、现有的、成熟的程序代码的集合。

静态库:链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝。

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

图解

静态库和动态库的区别.png

静态库的制作

静态库主要有两种形式:.a 和 .framework
动态库的形式主要有:.tdb 、.dylib、.framework 前两种还没见过,最常见的就是.framework的动态库
静态库制作方式请看:https://www.jianshu.com/p/5218d0ea26c9

注意:swift不支持静态库,只支持动态库

相关文章

  • iOS里的动态库和静态库

    介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别...

  • Xcode7中创建静态库

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

  • 创建静态库

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

  • 目录一、库二、静态库、动态库、Framework三、打包静态库 1、.a静态库和.framework静态库的区别 ...

  • iOS静态库与动态库的区别与打包

    iOS静态库与动态库的区别与打包iOS静态库与动态库的区别与打包

  • iOS 库.a 和 framework的区别

    一、什么是库? 共享代码便是库,实现代码的复用,一般分为静态库和动态库。 二、静态库和动态库的区别? 静态库:链接...

  • 静态库与动态库相关知识笔记(转)

    "静态库与动态库"参考静态库与动态库的区别与优缺点

  • iOS 创建静态库

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

  • iOS生成 .framework静态文件

    一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 二、静态库和动态库的区别? 静态库:链接时完整地...

  • iOS-SDK开发之制作自己的静态库 .framework和.a

    先来看几个概念定义: 什么是库?库是共享程序代码的方式,一般分为静态库和动态库。 静态库和动态库的区别?静态库:链...

网友评论

      本文标题:静态库和动态库的区别

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