隐式与显式链接到 DLL

2023-11-26

何时应隐式或显式链接到 DLL?常见做法或陷阱是什么?


显式链接 DLL 的情况相当罕见。主要是因为它很痛苦并且容易出错。您需要为导出的函数编写函数指针声明,并正确获取 LoadLibrary + GetProcAddress + FreeLibrary 代码。仅当您需要插件样式 DLL 的运行时依赖性或想要根据配置从一组 DLL 中进行选择时,才需要这样做。或者处理版本控制,例如仅在更高版本的 Windows 上可用的 API 函数。显式链接是 COM 和 .NET DLL 的默认设置。

更多背景信息在此MSDN 库文章.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐式与显式链接到 DLL 的相关文章

随机推荐

  • venv、pyvenv、pyenv、virtualenv、virtualenvwrapper、pipenv 等有什么区别?

    Python 3 3 在其标准库中包含新包venv 它有什么作用 以及它与匹配正则表达式的所有其他包有何不同 py v virtual pip env 这是我个人对初学者的建议 从学习开始virtualenv and pip 可在各种情况下
  • 为什么 ValueType.GetHashCode() 是这样实现的?

    From ValueType cs Action Our algorithm for returning the hashcode is a little bit complex We look for the first non stat
  • 使用常量表达式声明数组的大小

    我有一个围绕数组的新类型包装器 我以为我可以使用size of而不是手动传递数组的大小 但编译器认为我错了 use std mem size of size of val repr C packed struct BluetoothAddr
  • 如何在 linq 中编写 EF 以包含小写比较

    我有这样的疑问 select lower Name from User 如何使用 linq to EF 实现相同的效果 避免用户 linq to 反对 var query context Users Select u gt u Name T
  • 如何在本地运行的网页上创建指向本地文件的链接?

    我想要一个 html 文件来组织分散在我的硬盘驱动器中的某些文件 例如 我有两个要链接到的文件 C Programs sort mw C Videos lecture mp4 问题是我希望链接充当文件的快捷方式 我尝试过以下方法 a hre
  • oracle物化视图刷新时间

    有人能告诉我使用以下设置将物化视图设置为刷新的频率吗 按需刷新强制从 sysdate 0 开始 NEXT round sysdate 1 24 1 我想我每小时都会读一次 但我不确定 SQL gt alter session set nls
  • Objective C 类方法与 C 函数

    在从事开源项目时 我遇到了以下 C 函数声明和实现 FSNData h NSString stringForMimeType MimeType type interface FSNData NSObject All the expected
  • 如何创建不振动的 iOS 推送通知?

    我知道如何创建无声推送通知 通过播放无声的声音文件 我还想发送不振动手机的推送通知 当按照下面的建议设置静音声音文件时 手机在锁定或应用程序未激活时仍然会振动 我的有效载荷仍然振动 aps alert loc key SOME KEY ba
  • 如何在elasticsearch中索引geojson文件?

    我正在尝试使用 PYTHON 以 geojson csv 文件和形状文件的形式将空间数据存储到 elasticsearch 中 我是 elasticsearch 的新手 即使在遵循文档后我也无法成功索引它 任何帮助 将不胜感激 示例 geo
  • 防止存储过程同时执行两次

    我有一个 SQL Server 2000 的存储过程 在任何给定时刻只能执行一个实例 有什么方法可以检查并确保该过程当前没有在执行吗 理想情况下 我希望代码是独立且高效 快速 的 我也不想做一些事情 比如创建一个全局临时表来检查它是否存在
  • 如何在C++中生成随机顶点以形成凸多边形?

    我需要为一个简单的凸多边形生成一组顶点 以便使用动态编程对该多边形进行最小权重三角剖分 我考虑取一个半径为 r 的圆 然后取 20 个顶点逆时针移动 然后我将形成一个20个顶点凸多边形但我该怎么做 我怎么知道半径为 r 的圆上的顶点 除了这
  • Asp.Net core 2.0 MVC 锚标记帮助器不工作

    我正在尝试创建一个演示页面 但无法解决下一个问题 并且我尝试了在网络上找到的所有内容 我有一个带有标签助手的锚标签 a class menu link Telefonok a 我还添加了一个 ViewImports cshtml我在其中添加
  • C# WebClient 下载字符串 https

    在网络浏览器中我通常可以加载以下网址 https security ultimatxxxx com 443 Serverstatus ashx 当我这样做时 Webclient DownloadStringAsync https secur
  • 从内存而不是磁盘向 CompilerParameters ReferencedAssemblies 提供程序集?

    我有一个CompilerParameters我用来喂食的物体Microsoft CSharp CSharpCodeProvider对象和一个ICodeCompiler从中派生出的对象 一切正常 我可以即时编译代码 我的问题是引用的程序集 现
  • 如何在 Google App Engine 上使用 Python 发送 JSON 格式的 cookie 数据?

    我正在尝试在 Python 脚本中编码一个对象并将其设置为 cookie 以便我可以使用客户端 JavaScript 读取它 我尝试的各种方法都遇到了问题 一般来说 cookie 的格式化方式会导致 JSON parse 中断 我当前的脚本
  • Angular 6“mat-button-toggle”不是已知元素

    我已经检查过这些问题 mat toolbar 不是已知元素 Angular 5 Jhipster md button 不是已知元素 模板解析错误 mat icon 不是已知元素 材质 2 md datepicker toggle 不是已知元
  • 将选定的文本复制到剪贴板而不使用 Flash - 必须是跨浏览器

    我想要一个按钮来选择文本textarea并将其复制到剪贴板 我似乎找不到任何适用于所有浏览器且不使用 Flash 的解决方案 这当然可行吗 我到处都见过它 但我猜他们使用闪光灯 如果可能的话我真的想远离它 因为有些人没有它 这就是我到目前为
  • grunt uglify 任务失败

    运行 grunt 时 出现以下错误 警告 无法写入 client dist js build js 文件 错误代码 未定义 使用 force 继续 我的 uglify 的配置Gruntfile js uglify build src cli
  • 有没有办法仅使用 CSS 生成给定范围内的随机数?

    例如 类似 div margin left random 100 100 目前无法在纯 CSS 中执行此操作 但是如果您使用 CSS 预处理器 例如LESS 那么您可以执行以下操作 randomMargin Math round Math
  • 隐式与显式链接到 DLL

    何时应隐式或显式链接到 DLL 常见做法或陷阱是什么 显式链接 DLL 的情况相当罕见 主要是因为它很痛苦并且容易出错 您需要为导出的函数编写函数指针声明 并正确获取 LoadLibrary GetProcAddress FreeLibra