如何从 C++ 源代码创建 DLL,以及如何在其他源代码中使用它们?

2023-11-30

如何从 C++ 源代码创建 DLL,以及如何在其他源代码中使用它们?


DLL 是一个“动态链接库”,其工作方式与其他库非常相似,但不与可执行应用程序链接。在运行时,您可以调用特定函数来加载 DLL 并执行其导出的方法。

您可以尝试自己创建 DLL - 使用 Visual Studio 创建项目并指定 DLL。这将为您的项目创建一些基本构造,例如项目编译 DLL 的设置,以及一些用于公开方法、对象或变量的基本代码。

此时,有许多演练可以帮助您:检查这里.

所以,总结一下:

  • DLL 是一个库,您可以可以在运行时加载e.这是一个非常灵活的“插件”模型。示例:您可以在运行时以编程方式选择并加载不同的 DLL。每个 DLL 都可以是一个“插件”来提供不同的功能。

  • DLL 有一个入口点。就像命令行可执行文件的 Main 函数是入口点一样,DLL 也有一个入口点函数,当 DLL 上发生不同事件(例如加载、卸载等)时,就会调用该函数。

  • 要使用 DLL,您必须使用exportedDLL 的对象或方法。

  • 当从另一个应用程序调用这些导出函数时,非常重要的是匹配兼容类型!另外,请确保调用约定兼容

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

如何从 C++ 源代码创建 DLL,以及如何在其他源代码中使用它们? 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • 创建 DirectoryEntry 实例以供测试使用

    我正在尝试创建 DirectoryEntry 的实例 以便可以使用它来测试将传递 DirectoryEntry 的一些代码 然而 尽管进行了很多尝试 我还是找不到实例化 DE 并初始化它的 PropertyCollection 的方法 我有
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • Java 日期格式“2010-10-11T22:10:10.000Z”

    2010 10 11T22 10 10 000Z 是什么日期格式 那是一个ISO8601日期格式 如果您希望实际解析该格式的日期 您的问题并没有真正明确您的意图 请看看these other问题
  • 需要修改开发者账号中相同设备的UDID

    我已在开发者帐户中添加了大写 UDID 现在它不允许我更改它或通过单击 添加新 添加相同的小写 UDID 我想知道该特定设备是否仍然可以由任何人使用机会 或者我需要其他 UDID 来共享构建 快速答复表示赞赏 提前非常感谢 抱歉 不可能 一
  • 如何从字符串值 Swift 中删除可选

    我想使用不带可选扩展名的字符串值 我使用以下代码从 firebase 解析此数据 Database database reference withPath Locations child Cities observe value with
  • 如何检测 javascript 元素层次结构中的循环

    我有一个元素列表 每个元素都有一个 ID 和一个父 ID 我想要做的是检测这个 层次结构 中何时存在循环 并显示哪个 ID 启动循环 list id 1 parent 2 id 2 parent 3 id 3 parent 4 This i
  • Python 方法重写,签名重要吗?

    可以说我有 class Super def method1 pass class Sub Super def method1 param1 param2 param3 stuff 它是否正确 对method1的调用总是会转到子类吗 我的计划
  • 如何在 CSV 中指定关系类型?

    我有一个 CSV 文件 其中包含以下数据 ID Name Role Project 1 James Owner TST 2 Ed Assistant TST 3 Jack Manager TST 并希望创建与项目的关系在其中指定的人员 我尝
  • matlab代码变成了不可读的符号

    我在 Matlab 中遇到了一些错误 我的代码被转换成不可读的符号字符串 我 我怀疑这对 cs 人员来说是一个简单的问题 但我只是一个正在接受学术培训的代码 最终 用户 也就是说 不幸的是 我对理论知之甚少 而且很容易忘记 我按了 ctrl
  • Angular 2:两个后端服务调用第一个服务的成功

    在我的 Angular 2 应用程序中 我有如下后端服务 getUserInterests return this http get http localhost 8080 test selections map res Response
  • 计算特定整数在数组中出现的次数[重复]

    这个问题在这里已经有答案了 如何计算特定数字在数组中出现的次数 我找不到快速的方法 有人可以指导我吗 谢谢 Xcode 9 或更高版本 Swift 4 或更高版本 在 Swift 4 中你可以使用新的 Dictionary 方法reduce
  • PHP 中的 Try/Catch 块未捕获异常

    我正在尝试从此页面运行示例 1 http php net manual en language exceptions php
  • 使用 mod_wsgi 安装 Django

    我使用 Django 1 0 编写了一个应用程序 它与 django 测试服务器配合良好 但是 当我尝试将其放入更可能的生产环境时 Apache 服务器无法运行该应用程序 我使用的服务器是WAMP2 0 我已经成为一名 PHP 程序员多年了
  • ios8 UIModalTransitionStylePartialCurl 无法正常工作

    在ios 8下使用presentViewController modalTransitionStyle UIModalTransitionStylePartialCurl消失所有页面 我希望它能像 ios 7 一样工作 我遇到了同样的问题
  • C++中限制用户只能输入实数

    如何限制用户在C 程序中只能输入实数 Example 双数 cin gt gt 数字 它不会接受如下输入 12add abcd 等 有人可以指导我吗 使用布尔值 谢谢 您不能强迫用户提供正确的输入 但如果之前的输入无效 您可以要求他们提供另
  • 如何使用具有多个 dbcontext 的实体框架迁移将不同的域类映射到同一个表

    我想使用 DDD 方法来创建我的域模型 我理解 在有界上下文中 只有该上下文所需的数据才应该可用 使用该上下文的通用语言 可以说我有一个Buyer命名空间中的类BuyerContext and a Seller命名空间中的类SellerCo
  • 如何在 Google Cloud Dataflow 中编码可为 null 的对象?

    这篇文章旨在回答以下问题 内置哪个Coder支持可为空值吗 如何对可为 null 的对象进行编码 具有可为空字段的类怎么样 收藏怎么样null条目 您可以检查内置编码器DataflowJavaSDK源码 一些默认的编码器不支持null值 通
  • C# WCF REST - 如何使用 JSON.Net 序列化器而不是默认的 DataContractSerializer?

    在 NET 3 5 中 是否可以覆盖默认的 DataContractJsonSerializer 并使用 JSON net 序列化器 NOTE 我们不想在类上使用属性 是的 可以这样做 但事情并不太简单 您将需要一个新的消息格式化程序 它使
  • 如何将 WAR 文件添加到现有的 EAR 文件中?

    有人可以向我解释如何将 WAR 文件添加到 EAR 中吗 我有一个 EAR 文件 其中已经包含一个 WAR 文件 我还有另一个 WAR 文件 我想将其添加到此 EAR 中 以便它可以包含两个 WAR 并正常工作 我不知道如何做到这一点 但我
  • 是否可以增加 ActionBarDrawerToggle(抽屉菜单)的大小?

    我跟着ActionBarDrawer切换指南 我知道如何使用在操作栏上显示抽屉图标drawerImageRes在这 public ActionBarDrawerToggle 活动活动 DrawerLayout 抽屉布局 int抽屉图像Res
  • Tensorflow shuffle batch() 块在纪元结束时

    我正在使用 tf train shuffle batch 创建批量输入图像 它包含一个 min after dequeue 参数 该参数确保内部队列中有指定数量的元素 如果没有 则阻止其他所有元素 images label batch tf
  • 如何从 C++ 源代码创建 DLL,以及如何在其他源代码中使用它们?

    如何从 C 源代码创建 DLL 以及如何在其他源代码中使用它们 DLL 是一个 动态链接库 其工作方式与其他库非常相似 但不与可执行应用程序链接 在运行时 您可以调用特定函数来加载 DLL 并执行其导出的方法 您可以尝试自己创建 DLL 使