美文网首页
静态编译和动态编译

静态编译和动态编译

作者: 狗尾巴草败了 | 来源:发表于2017-08-21 17:46 被阅读0次

静态编译与动态编译的区别:

静态编译就是在编译时,把所有模块都编译进可执行文件里,当启动这个可执行文件时,所有模块都被加载进来;

动态编译是将应用程序需要的模块都编译成动态链接库,启动程序(初始化)时,这些模块不会被加载,运行时用到哪个模块就调用哪个

静态库

优点:
代码的装载速度快,执行速度也比较快
缺点:

  1. 程序体积会相对大一些
  2. 如果静态库需要更新,程序需要重新编译
  3. 如果多个应用程序使用的话,会被装载多次,浪费内存。

动态库:

动态链接库:在应用程序启动的时候才会链接,所以,当用户的系统上没有该动态库时,应用程序就会运行失败
优点:
多个应用程序可以使用同一个动态库,而不需要在磁盘上存储多个拷贝

缺点:
由于是运行时加载,可能会影响程序的前期执行性能

相关文章

  • 改善Java程序建议17

    建议 17: 慎用动态编译。 关于动态编译的代码: 只要静态编译能做的事情,动态编译就能实现。 动态编译时,需要注...

  • 动态代理反射

    动态代理 分类AspectJ编译-静态编译-AspectJ编译编译器JDK动态代理-接口cglib动态代理-子类(...

  • 静态编译和动态编译

    静态编译与动态编译的区别: 静态编译就是在编译时,把所有模块都编译进可执行文件里,当启动这个可执行文件时,所有模块...

  • Android 系统 overlay 机制重点小结

    静态 overlay 和动态 overlay 静态 overlay:又称为编译时 overlay,编译时资源就已经...

  • 安卓系统编译overlay机制

    静态overlay和动态overlay 静态 overlay:又称为编译时 overlay,编译时资源就已经覆盖了...

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

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

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

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

  • iOS中的静态库和静态库

    一、静态库和动态库的含义 所谓静态和动态是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时...

  • JIT 和 AOT

    程序主要有两种运行方式:静态编译 与 动态解释 AOT (静态编译) 静态编译的程序在执行前程序会被提前编译为机器...

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

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

网友评论

      本文标题:静态编译和动态编译

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