问题标签 [dllexport]
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.
c++ - LoadLibraryEx:参数在 64 位中丢失
我有一个导出函数的 64 位 DLL
这被实现为
和一个调用该函数的 64 位 DLL
在 32 位模式下,函数调用成功,但在 64 位模式下,到达函数入口点但参数无效?我能做什么?
dll - 如何将变量传递给 DLL 导出的函数,我得到错误 LNK2001
我必须将 HWND 变量从主程序传递给 DLL 导出的函数。变量称为 mainHwnd,DLL 以这种方式定义:
mydll.h
mydll.cpp
主程序
编译我得到
在使用 dumpbin /exports mydll.dll 时,我得到全局变量名被破坏为:
我在谷歌上浏览了很多页面都没有结果。也许有一个概念错误..谢谢
c++ - 从 DLL 导出函数中释放 CStringArray& 参数时的堆冲突
我开发了一个 MFC dll,其中包含一个具有此原型的函数:
我遇到的问题是在调用函数之后(从可执行文件)。arrData 的析构函数将被调用并尝试释放内存,但它不会成功,因为arrOfData的分配是在另一个堆(在 dll 内)上完成的。虽然我已经使用相同的环境设置编译了两个应用程序(Exe 和 Dll),但在调试和发布模式下我仍然遇到问题。我该如何解决这个问题?
堆冲突发生在代码块存在之前
delphi - Delphi dll导出记录
谁能告诉我是否可以从 dll 中导出记录?如果是,那么该怎么做?
我的记录如下:
visual-c++ - Visual C++ 6.0 名称修改,即使在 extern "C" 和 dllexport 中,也不会生成 RPC 存根
嘿,伙计们,我正在努力在旧版 Visual C++ 6.0 dll 项目中创建一个新函数,以便可以调用 C# dll,但是由于名称修改,我无法这样做,而且似乎无论我做什么我都无法阻止它,(我用dumpbin查看名字)这里是相关代码
这是头文件的一个真正精简的版本
对于 cpp 文件
dumpbin 返回以下 1 0 00001401 ?V7ssGetFileDirInfoUnicode@@YAKPBDW4tag_V7_FILE_LIST_TYPE@@000PAKPAG2@Z
不是我想要的理想它只会是 V7ssGetFileDirInfoUnicode
据我所知,从我一直在阅读的内容来看,我试图这样做意味着我不需要在 .def 文件中定义它。奇怪的是,我遵循与正确显示的预先存在的功能相同的精确设置。
如果有任何帮助,我将不胜感激。谢谢!
更新
.def 文件选项的工作原理不是名称修改,也就是说 MIDL 编译器没有创建 RPC 存根,我认为这两个问题是相关的。
这里也是 MIDL 版本,取自 C 文件本身
c++ - 尴尬的 DLL 导出部分
我在 MSVC2010 中有一段 C++ 代码,它创建了一个 DLL 包装器。代码部分看起来像这样......
或者...
我希望我的导出部分在这个 dll 上做一个 dumpbin 只包含完全限定的函数名,但它看起来更像这样。
我不知道为什么有这个等号或它意味着什么。我有一种强烈的感觉,即导入 dll 的程序无法访问该功能,因为它没有做它应该做的事情。
为了提供足够的信息,我已经包含了一些编译器和链接器开关
编译器选项:
链接器选项:
注意:/IMPLIB:"MyProj.lib" -> 这个导入库包含我希望在我的 DLL 中具有的所有导出,其格式是我希望它们在 dll 中的格式。
我的项目选项中是否有任何设置会导致这种情况?在过去几年中,dllexport 是否有任何我可能错过的变化?有什么我可以提供给你的信息来帮助你理解我的问题吗?
visual-studio-2010 - 嵌套类、dllexport 和 VS2010
让我们有以下代码:
所以:
- 我有一个要导出到 DLL 的类。
- 这个类也有一个要导出到 DLL 的子类。
- 有类型的变量 ('x...')
template <subclass>
。 - 成员变量也需要 dll 导出。
- 所以我需要
template <subclass>
在使用这种类型之前显式地实例化。 - 但这是不可能的,因为实例化只能在全局范围内进行。
但是在全局范围内,子类(还)没有定义。
template <class::subclass>
类体之后的实例化没有效果。
那么如何正确处理这个问题,避免任何警告和错误呢?
顺便说一句:类中模板的实例化在 VS2008 中运行良好。
先感谢您。
葡聚糖
64-bit - dllexport is not recognize in x64 bit platform
I am using vs2008 C++ I need the dll to be output in two mode 32 bit and 64 bit. I am able to compile the code without any error for 32 bit platform but when I switch the platform to x64 bit the error C2065: 'dllexport': undeclared identifier and C2448"_declspec': function-style intializer appears to be a function definition come out. In fact when I switch to x64 platform I didn't make any changes on the code (even a single line of code). Can somebody help me? Thanks in Advance!!!
c# - 从跨平台 DLL 返回整数数组
我用 C++ 创建了一个跨平台的 DLL,可以在 Windows 和 Mac OSX 上编译。在 Windows 上,我有一个 C# 应用程序使用 P/Invoke 调用 DLL,而在 Mac OSX 上,一个目标 C 应用程序调用 DLL。我的简单函数工作得很好,但我需要一个返回整数数组的新函数。
我能找到的最好的例子是Marshal C++ int array to C#,我能够让它工作。但是,我想修改此示例以将整数数组作为参考参数传回。数组的大小必须在运行时设置。
这是我尝试过的。pSize 正确返回,但列表为空。
在非托管 C++ 中:
在 C# 中:
dll - 如何在 MinGW 中指定 dll 导出的确切序数?
我正在尝试使用 MinGW 构建一个 DLL,我需要增加它生成的导出。我需要为某些导出的函数分配特定的序号。
我创建了一个 .DEF 文件,但我找不到告诉 MinGW 链接器使用它的选项。甚至可能吗?