zoukankan      html  css  js  c++  java
  • Implicit Linking与Explicit Linking

    一、Implicit Linking()

                Implicit Linking() ,又叫静态载入,所态载入是指程序在期即与dlls对应import libraries作静态连接,于是可行文件中便所有的dll函数都有一份重定位表格(relocation table)和待修正记录fixup record)。当程序被windows入器入内存中入器会自修正所有的fixup records,而fixup records 就是记录DLL中所有源的正确位置地址,经过这样的程序动态连接便自动产生。也就是,程序,会用静态载入的方式所使用的DLLs入到程序的内存里。

          静态载入方式的

          1、静态载入方式所使用的dll会在用程序时载入,然后就可以用所有dll中提供的函数,就像是程序中一

          2、处简单入的方法有编译负责处理,不需动脑筋。

          静态载入方式的缺点

          1、当程序机构态载入方式所使用的dll不存在,程序始就会dll无法找到的错误而使得程序无法运行。

    编译时需要加入import library

          2、若用的dll很多,用程序的速度就会很慢。

    不同的c++编译器静态载入的方式也不一

     

    二、Explicit Linking(接)

              Explicit Link接)又叫动态载入,使用dll的可行文件必明确入和御dll的函数用(Function Call),并且存取dll出函数。用端必函数声明用函数。

              行文件可以使用任何一种连接方式的相同低dll。并且,些机制之并不会相互排斥,因此,当一个可行文件式的dll,其他程序可以示地接它。

  • 相关阅读:
    LruCache 原理
    线程间通信, 进程间通信
    安卓 权限 规则
    android 捕获所有异常 未捕获的异常
    serializable parcelable
    android intent 传递 二进制数据
    apk安装 卸载 原理
    ARGB 8888 内存大小
    dalvik 基于 jvm 的改进
    查看 MySQL 数据库中每个表占用的空间大小
  • 原文地址:https://www.cnblogs.com/alleyonline/p/4659898.html
Copyright © 2011-2022 走看看