如何使用dll?

2023-12-03

我知道如果我有一个 .a 或 .so 文件以及该库的头文件(例如 SystemC),我应该 1.包含头文件 2.链接适当的库。

但我无法仅处理 .dll 文件,因为我也可以链接它,但没有要包含和使用命令的侦听器文件。有人可以解释一下存在什么样的 .dll-s 以及如何使用它们吗?是否可以使用任何 .dll 文件,或者它应该是特定类型的 .dll 才能集成到我的应用程序中?


DLL 在功能上等同于 .so 文件(也称为“共享对象”或“共享库”)。您需要一个标头来声明 DLL 内可用的函数,并且需要链接到一个处理加载和执行 DLL 调用(主要委托给操作系统)业务的库。

It is可以使用没有任何类型标头的 DLL。您可以直接调用 Win32 API,它将动态地将 DLL 加载到您的程序虚拟地址空间中,并调用其他 API,这将为您提供本质上是函数指针的内容。但是,您需要知道函数指针的签名才能正确使用,因此在这种情况下您实际上要做的就是声明实际 DLL 标头的一小部分供您使用。

This 维基百科文章可能会有所帮助,尤其是有关共享库的部分

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

如何使用dll? 的相关文章

  • 如何使用MemoryCache代替Timer来触发一个方法?

    以下方法通过等待已运行操作的结果来处理并发请求 对数据的请求可能会使用相同 不同的凭据同时出现 对于每组唯一的凭据 最多可以有一个GetCurrentInternal呼叫正在进行中 当准备就绪时 该呼叫的结果将返回给所有排队的服务员 pri
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • C# Dns.GetHostEntry 不返回连接到 WiFi 的移动设备的名称

    我有一个 C 中的 Windows 窗体应用程序 我试图获取列表中所有客户端的主机名 下面给出的是 ra00l 来自此链接的代码示例 GetHostEntry 非常慢 https stackoverflow com questions 99
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • HttpWebRequest 在第二次调用时超时

    为什么以下代码在第二次 及后续 运行时超时 代码挂在 using Stream objStream request GetResponse GetResponseStream 然后引发 WebException 表示请求已超时 我已经尝试过
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • 为什么 NSUserDefaults 在我的应用程序和共享扩展程序之间不起作用?

    我有一个带有共享扩展的 iOS 应用程序 我正在尝试使用 NSUserDefaults 和应用程序组在它们之间共享数据 但是 虽然我可以写入 NSUD 对象 读取它 并且synchronize 没有错误 读取扩展名总是会导致nil 我有一个
  • PHP MySQL查询包含关键字/保留字[重复]

    这个问题在这里已经有答案了 我在更新 MySQL 数据 包括 HTML 数据 时遇到了问题 我不断修复错误 然而 一旦修正了一个错误 就会产生另一个错误 目前的错误如下 You have an error in your SQL synta
  • libipopt.so.1:无法打开共享对象文件

    执行基本安装后Ipopt 我能够编译他们提供的示例Ipopt 3 12 5 Ipopt examples hs071 cpp成功使用命令 g hs 071 main cpp hs071 nlp cpp I path to build inc
  • 从 F# 中的二叉搜索树中删除元素

    我正在尝试编写一种方法来从 BST 中删除元素 到目前为止 这就是我所拥有的 我不确定我是否走在正确的轨道上 或者是否有更好的方法通过使用模式匹配来匹配不同的删除情况 即 没有子项 1 个子项 2 个子项 type a bst NL Bin
  • PHP 中的 '(花式撇号?)是什么意思

    我得到了这个示例 PHP 代码 if new value old value 我该怎样称呼这个角色 它有什么作用 如何在键盘上输入它 以及 最重要的是 我可以使用什么来代替人类可读的位置 并且看起来不像我试图炫耀我对晦涩代码速记的知识 我在
  • 在Python中修改文本文件中的每一行

    我有一个大文件 如下例所示 1 10161 10166 3 1 10166 10172 2 1 10172 10182 1 1 10183 10192 1 1 10193 10199 1 1 10212 10248 1 1 10260 10
  • SecurityException:权限被拒绝 ACCESS_ALL_DOWNLOADS

    我正在尝试使用 DownloadManager 下载文件 是的 我知道人们已经遇到了这个错误 但我的似乎没有解决 我每次都尝试过 我已经声明了这个权限
  • 是否可以允许匿名用户仅浏览文件夹中的少数文件

    我想允许匿名用户仅浏览几个文件 例如 default aspx aboutus aspx contactus aspx 等 有没有办法将所有这些文件名写在一个地方 否则我将不得不一次又一次重复下面的代码对于所有文件
  • 高效测地线最近邻

    从纬度 经度数据 以弧度为单位 开始 我尝试有效地找到最近的 n 个邻居 最好是测地线 WGS 84 距离 现在我正在使用sklearn 球树使用半正矢距离 KD Tres 仅采用 minkowskian 距离 这很好而且快速 3 4 秒即
  • 将大文件写入磁盘内存不足异常

    我正在尝试写入然后读取一个大型随机文件来计算磁盘速度 我尝试了多种算法 但在尝试写入 1GB 文件时不断出现输出或内存异常 这是我尝试过的一些 Method 1 byte data new byte 8192 Random rng new
  • jQuery UI 日期选择器可以禁用周六和周日(以及节假日)吗?

    我使用日期选择器来选择约会日期 我已经将日期范围设置为仅下个月 效果很好 我想从可用选项中排除周六和周日 这可以做到吗 如果是这样 怎么办 有的是beforeShowDay选项 它需要为每个日期调用一个函数 如果允许该日期则返回 true
  • 具有机器人框架的多个远程库

    根据 机器人框架 手册中的示例 为了从远程计算机提供关键字 必须实例化RobotRemoteServer带有实现关键字的类的实例 RobotRemoteServer ExampleRemoteLibrary sys argv 1 如果我有多
  • SQL INDEX 不用于 WHERE ABS(x-y) < k 条件,但用于 y - k < x < y + k 条件

    我有一个查询涉及时差小于 2 小时的几行 0 08333 天 SELECT mt1 mt2 FROM mytable mt1 mytable mt2 WHERE ABS JULIANDAY mt1 date JULIANDAY mt2 da
  • 如何测试未知的 Delphi RTTI TValue 是否反映任何类型的通用 TList<>(或至少 TEnumerable<>)的对象?

    在德尔福 如果我有一个TValue反映未知对象的实例 如何测试该对象是否是任何类型泛型的实例TEnumerable lt gt 或者甚至更好 也which它是特定通用枚举类型的实例 例如TList lt gt 注意 我已经知道如何轻松检查其
  • 在 scala 中重定向 stdin 和 stdout

    如何将 STDIN 和 STDOUT 重定向到文件 在 C 语言中 可以像这样完成 freopen file in r stdin 我正在寻找与 Scala 相当的东西 您可以使用 Java 系统 api 来完成此操作 Java 和 Sca
  • Java:实例双数组元素值修改问题

    我是 Java 新手 我有一个可以为其创建实例的类 在类中我定义了两个实例变量 double array1 double array2 数组的长度相等 在类中 我有一个首先填充的 method1array1然后是另一种方法2 我想在其中设置
  • 使用 KSOAP2 序列化要发送的整数数组

    我在尝试将整数数组发送到 NET Web 服务时遇到问题 该服务需要参数之一包含数组 至少这是我从 Web 服务上的 API 描述中了解到的
  • 颠倒的文字

    您将如何设计一个程序来接收一串小写字母并颠倒产生该字符串 所以如果我输入home i get o 倒挂 我尝试在书中寻找入门内容 但一无所获 试试这个 有点暴力的方法 但对于大写 小写和数字字符非常有效 所有其他字符都按原样显示 defin
  • SQL 将 2 个表连接到 1 个表

    我的任务是连接 3 个表 任务 单位和建筑物 任务表有一列表示单位 一列表示建筑物 任何单一任务仅分配给一座建筑物或一个单元 而不是两者 因此 每条记录中的一列始终为空 任务表中有6100条记录 当我使用这个连接时 select from
  • 如何使用dll?

    我知道如果我有一个 a 或 so 文件以及该库的头文件 例如 SystemC 我应该 1 包含头文件 2 链接适当的库 但我无法仅处理 dll 文件 因为我也可以链接它 但没有要包含和使用命令的侦听器文件 有人可以解释一下存在什么样的 dl