美文网首页
静态库和动态库

静态库和动态库

作者: KB_MORE | 来源:发表于2020-12-22 16:40 被阅读0次

    静态库

    链接阶段会将汇编生成的目标程序引用的库一起链接打包到可执行文件中, 此时的静态库就不会再改变了, 以为它是编译时直接拷贝到目标程序的可执行文件中

    优点

    编译完成后,静态库文件实际上没什么作用了, 目标程序没有外部依赖,直接可以运行

    缺点

    由于静态库会有两份,所以会导致目标程序的体积增大,对内存, 性能, 速度消耗很大

    动态库

    程序编译时并不会链接到目标程序中, 目标程序只会存储指向动态库的引用,在程序运行时才会被载入

    优点

    • 减少打包之后的APP大小 :因为不需要拷贝到目标程序中,所以不会影响目标程序的体积,与静态库比,减少了APP的体积大小
    • 共享内存,节约资源 : 同一份库可以被多个程序使用
    • 通过更新动态库,达到更新程序的目的: 由于运行时载入的特性, 可以随时对库进行替换,而不需要重新编译代码

    缺点

    动态载入会带来一部分性能损失,使用动态库也会依赖外部环境,如果环境缺少了动态库,或者库的版本不正确,就会导致程序无法运行

    静态库和动态库

    相关文章

      网友评论

          本文标题:静态库和动态库

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