• 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,其他程序可以示地接它。

  • 相关阅读:
    Kafka事务机制
    RabbitMQ事务机制
    RocketMQ事务消息
    No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问解决方案
    java + eclipse 工作环境快速配置
    查找.bashrc文件并设置linux快捷命令
    headers参数传值类型
    无需会员将有道云笔记脑图转换xmind
    使用goland调试远程代码
    nginx配置文件使用环境变量
  • 原文地址:https://www.cnblogs.com/alleyonline/p/4659898.html
Copyright © 2020-2023  润新知