问题标签 [dll]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 在 Windows 上构建和部署 dll:SxS、清单和所有爵士乐
自 VS 2005 以来,我发现不可能简单地针对 MS 运行时构建一个 dll 并将它们部署在一起(http://www.ddj.com/windows/184406482)。我对 manifest、SxS 和 co 深感困惑:MSDN 文档真的很差,带有循环引用;特别是因为我更像是一个 Unix 人,我发现所有这些都没有信息。我的核心问题是将 dll 与 msvc9 或 msvc8 链接:由于这些运行时不可再分发,链接和部署此类 dll 的步骤是什么?特别是,清单是如何生成的(我不想要 mt.exe,我想要一些可以跨编译器移植的东西),它们是如何嵌入和使用的?并排组装是什么意思?
基本上,我在哪里可以找到任何类型的规范而不是 MS 行话?
感谢所有回答的人,这真的很有帮助,
c++ - 从 DLL 动态导入 C++ 类
从 DLL 导入 C++ 类的正确方法是什么?我们正在使用 Visual C++。
有 dllexport/exports.def+LoadLibrary+GetProcAddress 三重奏,但它不适用于 C++ 类,仅适用于 C 函数。这是由于 C++ 名称修改造成的吗?我该如何进行这项工作?
winapi - 如何获取我自己代码的模块句柄?
可能重复:
如何获取当前执行代码的 HMODULE?
我正在尝试在我自己的模块中查找资源。如果这个模块是一个可执行文件,那很简单——GetModuleHandle(NULL)
返回“主”模块的句柄。
然而,我的模块是一个由另一个可执行文件加载的 DLL。所以GetModuleHandle(NULL)
会将模块句柄返回给那个可执行文件,这显然不是我想要的。
有没有办法确定包含当前运行代码的模块的模块句柄?在调用中使用 DLL 的名称GetModuleHandle()
对我来说似乎是一种 hack(如果有问题的代码被移植到不同的 DLL 中,则不容易维护)。
dll - 如何从托管 DLL 获取可执行路径
我有一个托管 DLL(用 C++/CLI 编写),其中包含 C# 可执行文件使用的类。在类的构造函数中,我需要访问引用 DLL 的可执行文件的完整路径。在实际的应用程序中,我知道我可以使用 Application 对象来执行此操作,但如何从托管 DLL 执行此操作?
windows - 什么是 DLL 文件,它们是如何工作的?
DLL 文件究竟是如何工作的?似乎有很多,但我不知道它们是什么或它们是如何工作的。
那么,与他们有什么关系呢?
.net - 在 Visual Studio 中指定非 .NET 依赖项
我正在使用 P/Invoke 从我的项目中调用非 .NET dll,这意味着 .dll 必须始终存在于 .exe 的目录中。
有没有办法告诉Visual Studio这个依赖,这样编译时会自动将.dll复制到输出目录,并在setup中自动包含.dll?还是我必须手动执行此操作?
vb.net - 将 COM 组件引用添加到 VB.NET 项目时出现问题
我有一个第三方 COM dll 正在尝试添加到 vb.net (2008 express) 项目中。我将 dll 放入 C:\WINDOWS\system32\ 并使用“regsvr32 vxncom.dll”注册它。当我转到项目 > 添加参考并转到 COM 选项卡时,它会显示在可用组件/库的列表中。但是,当我选择库并点击确定时,Visual Studio 会抱怨:“无法添加对‘vxncom 4.0 库’的引用。无法注册 ActiveX 类型库‘C:\WINDOWS\system32\vxncom.dll’。”
我正在做的项目是分发 dll 的人提供的一个示例。当我启动一个新的(空白)vb.net 项目时,该组件也无法添加。
更新 1:
我在有问题的 dll 上运行了dependency walker,这是我在错误日志中得到的内容:
错误:由于隐式依赖模块中缺少导出函数,至少一个模块具有未解析的导入。
有问题的模块似乎是 libeay32.dll,但它已经存在于 C:\WINDOWS\system32 中。
更新 2:
我去了openssl 站点并下载并使用他们的安装程序来更新 libeay32.dll。我在 vxncom.dll 上再次运行了dependency walker,没有错误。回到视觉工作室,它仍然不想添加参考。与之前完全相同的错误。
windows - 在 DLL 中使用 cpu 特定功能有哪些标准技术?
简短版本:我想知道在 DLL 中利用 CPU 特定指令是否可能,以及如何最好?
稍长的版本:当从微软下载(32 位)DLL 时,似乎一种尺寸适合所有处理器。
这是否意味着它们严格按照最低公分母(即操作系统支持的最低平台)构建?或者是否有一些技术用于在 DLL 中导出单个接口,但在幕后利用 CPU 特定代码来获得最佳性能?如果是这样,它是如何完成的?
c - 在C中将控制台exe转换为dll
我有兴趣从另一个 Windows GUI 程序(自然用 Delphi 编写)调用开源控制台应用程序SoX 。我不想处理抓取和隐藏控制台窗口,我只想将应用程序转换为我可以从我的应用程序调用的 DLL。
在我开始走这条路之前,我很好奇我应该做多少工作?我们是在谈论一项重大事业,还是有直接的解决方案?我知道一些 C,但绝不是专家。
我不期待 SoX 的具体细节,一般只是将 EXE 控制台应用程序转换为 DLL。如果有人熟悉 SoX,那就更好了。
c++ - 卸载 DLL 时的内存泄漏是否会导致主机进程泄漏?
考虑这种情况:
此时,调用 malloc() 时分配的 1k 是否会再次可供宿主进程使用?DLL 静态链接到 CRT。