动态库和静态库

  • 库的概念
    库是程序代码的集合,是共享程序代码的一种方式

  • 根据源码公开方式可分为

  • 开源库,公开源码

  • 闭源库,是经过变异后的二进制文件,不公开源码
    闭源库又主要分为动态库和静态库:

    • 静态库.a/.framework
      链接时,静态库会被会被完整复制到可执行文件中,被多次使用就有多份冗余拷贝
      打包成.a文件后在mrc和arc下都可以直接使用。
    • 动态库.dylib/.framework(iOS9取消了.dylib,使用.tdb代替)
      链接时不赋值,程序运行时由系统加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。
      苹果不允许上传的app有动态库。

静态库中可能遇到的问题
"UnDefined symbols for architerture x86_64"可能是模拟器没有切换到真机。

  • 架构
  • 模拟器架构
    • iPhone4s/5 i386 32位
    • iPhone5s/6/6p/6s/6ps x86_64 64位
  • 真机架构
    • iPhone4s armv7 32位
    • iPhone5 armv7s 32位
    • iPhone5s/6/6p/6s/6ps arm64 64位
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 介绍 动态库形式:.dylib和.framework 静态库形式:.a和.framework 动态库和静态库的区别...
    齐滇大圣阅读 46,359评论 18 251
  • 动态库和静态库 1.动态库在运行时实时的部署,静态库必须在编译时连接到代码 2.动态库加载到内存后可以重复使用,静...
    程守斌阅读 259评论 0 0
  • 一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 二、静态库与动态库的区别? 静态库:链接时完整地...
    一杯红酒mm阅读 342评论 0 2
  • 一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 二、静态库与动态库的区别? 静态库:链接时完整地...
    LiwaySun阅读 210评论 0 0
  • 库是共享程序代码的方式,一般分为静态库和动态库。静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝...
    Crazy2015阅读 502评论 0 0