静态库与动态库的区别
2018-07-10 本文已影响4人
Jorunk
静态库:连接时会被完整的的赋值到可执行文件中,被多次使用就有多份拷贝
动态库:连接时不复制,程序运行时有系统动态加载到内存,系统只加载一次,多个程序公用
什么是库?
- 是代码的集合,是共享、复用代码的一种方式
库的分类
- 开源库、闭源库
clang -ccc-print-phases main.m
源代码 -> 预处理器 -> 编译器 -> 汇编 -> 机器码 -> 链接 -> 可执行文件
静态库的动态库的打包
库的架构
- arm64 真机
- x86_64模拟器
lipo -info
静态库有两种格式
- .a
- .framework
动态库的格式
- .tbd
- .dylib
swift不支持静态库,只支持动态库,将swift类和方法用public公开出来