问题标签 [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.

0 投票
3 回答
1017 浏览

c++ - 在 C++ 中创建 DLL

这是这个问题的后续问题,因为我现在正在失去理智。

有人指给我看这篇文章,我正试图从那里复制第 4 节。

所以我在 MSVC++2010 中创建了一个空的 C++ 项目,在其中创建了一个新的 .cpp 文件,并将以下代码放入其中:

(我从这里LibMain得到了代码,但我认为它在这里没有做任何事情。)

然后,我在项目中添加了一个 .def 文件并将其放入其中:

编译器在当前目标不支持 .def 文件中输出两个警告CODE,但它最终会编译并生成文件,然后我将其复制到and和。DATAvb6dll32.dllC:\windows\system...\system32C:\

然后我创建了一个 VB6 项目,在表单中放了一个按钮并添加了这个源代码:

现在,当我单击按钮时,它仍然给我“运行时错误'53':找不到文件 vb6dll32.dll。” (即使我在 VB 源代码中给它一个完全指定的路径,也会发生这种情况,例如“C:\vb6dll32.dll”并且文件肯定在那里。我尝试在没有路径和没有“.dll”的情况下给出它的位置等等, 没有什么变化。)

让我烦恼的是,当我运行regsvr32 c:\vb6dll32.dll它时,它还告诉我“模块 C:\vb6dll32.dll 无法加载。等等等等”.. 我不知道它应该做什么,但通常应该对 DLL 文件做一些事情,对?

我究竟做错了什么?!谢谢你的帮助。

0 投票
2 回答
1355 浏览

c - 我的 dll 在未经我同意的情况下导出所有功能!

我正在使用 mingw 编译器和代码块 IDE。我面临一个问题,我不明白我的 dll 是如何在没有我使用__declspec(dllexport)这些函数的情况下导出每个函数的。这是两个示例文件,main.hmain.cpp

main.h

main.cpp

在此示例中,SomeFunction已导出,我可以从外部应用程序动态调用它,尽管我没有将其原型化为

不仅如此,甚至全局变量flag也被导出到自动生成的 .def 文件中。

这里发生了什么?如果我犯了技术错误,请帮助并纠正我。

0 投票
1 回答
54 浏览

asp.net - 制作dll时出错

当我使用 COMPILE.BAT 文件编译(.csproj 文件)代码时,我使用 C# 代码创建了 ASP.NET 页面,它向我显示编译错误,错误代码为 cs1303 [未找到“Label01”,未找到“TextBox01”等等.. .因为所有表格都无法制作dll...

我想编译所有代码以制作一个dll文件,但我无法编译它....任何人请帮助我....

0 投票
2 回答
14688 浏览

dll - c# dll加密

我需要加密 ASP.NET 页面使用的 C# 代码。所以,当我编译创建一个 DLL 文件时,我确实需要加密我的 DLL 文件。请帮我如何加密DLL文件...

0 投票
1 回答
2890 浏览

c++ - 在 dll 中使用导入的函数时出现 __security_init_cookie 错误

我正在尝试使用带有此代码的 VS2010 从 dll 导入函数

结果表明dll和函数的导入成功。但我不明白为什么会出现错误(抱歉是法语) Exception de première chance à 0x76bdb727 dans testWrapper.exe : Exception Microsoft C++ : QuantLib::Error à l'emplacement memoire 0x0015f800.. Exception non géréeà 0x76bdb727 dans testWrapper .exe:异常 Microsoft C++:QuantLib::Error à l'emplacement memoire 0x0015f800..

但是,我的朋友使用VS2008并且此代码有效代码停止时的错误是:

在文件 crtexe.c 谢谢

我已经删除了 Remove the /GS (Buffer Security Check) 但现在问题出在代码 dbgheap.c

0 投票
1 回答
1624 浏览

c++ - 从 dll 导出专门的模板函数

我有一个模板函数,我在 dll 的头文件中定义。我不需要导出函数,因为所有消费者都会读取头文件并拥有整个函数。但是,我有一个无法在头文件中定义的模板的特化(或者我会得到重新定义链接器错误),所以它必须放在源文件中。

导出此功能的正常方法是什么?

并且源文件有

IMPORTEXPORTMACRO是那些宏之一,要么是__declspec(dllimport)要么dllexport

谢谢

0 投票
1 回答
984 浏览

c++ - 编译器警告 C4251:在 *.dll 中导出类时出现问题

编辑:请原谅我的笨拙,我以前从未实现过包装器 .dll!:S

我一直在修改一些最近发布的 Kinect Sensor hacks(即OpenKinectOpenNI),现在我正在尝试将功能包装在 *.dll 中,以便在我希望编写的各种“测试”程序中使用.

到目前为止,我已经建立了一个 *.dll 项目,并获得了很多库功能,但是我到处都收到了 C4251 编译器警告。

在项目设置中,我已经OpenNI.lib静态链接了文件,到目前为止,我的库标题如下所示:

我的stdafx.h文件包含:

现在我尝试创建一个 Windows 控制台应用程序来测试库,但我遇到了很多error C2653: 'xn' : is not a class or namespace name错误。我希望在应用程序中我只需要包含并链接到包装器 *.dll 而不是所有的 OpenNI 东西,以便隐藏底层实现,这是不正确的吗?

0 投票
3 回答
2049 浏览

dll - PE 导出目录表的 OrdinalBase 字段被忽略?

根据我和其他人的经验 (http://webster.cs.ucr.edu/Page_TechDocs/pe.txt),PE/COFF 规范文档错误地声称序数表中包含的导出地址表索引是相对的到序数基数,甚至给出了一个不正确的例子(第 5.3 节)。实际上,在 Ordinal Base = 1 的正常情况下,Ordinal Table 中的索引是地址表中基于 0 的索引。我在 VS Studio 生成的 PE 库和 Kernel32.dll 等系统库中看到了这一点。

我的问题是,你有没有观察过序数基数不等于 1 的二进制文件?我想知道这是否是一个错误,或者序数基数是否从未应用于序数表条目。

0 投票
1 回答
1985 浏览

c# - 将 C++ DLL 导入 C# 智能设备应用程序

在查阅了大量博客和网页并尝试了人们解释的几乎所有内容后,我提出了这个问题。

我将 C++ Win32 DLL 导入 C# Windows 应用程序没有问题。它实际上是直截了当的。

但我想做的是将 C++ DLL 导入 C#“智能设备应用程序”,尤其是使用 Visual Studio 2005。

在我的 (TestDLL.dll) C++ DLL 源文件中,我有以下几行:

我的 C# 包装器 (Wrapper.cs) 类具有以下内容:

我的 C# 驱动程序类正在调用以下内容:

然后我将我的 Pocket PC 2003 设备连接到 PC,然后我开始调试并运行程序。我收到以下错误消息:

MissingMethodException:找不到 PInvoke DLL“TestDLL.dll”。

我双重检查了我的 DLL 位置,所以这不是问题。然后我尝试使用 Visual Studio 2005 中的许多不同模板。

  • MFC 智能设备 DLL
  • MFC智能设备
  • 应用 Win32 智能设备
  • 项目 ATL 智能设备项目
  • Win32 DLL

但似乎没有任何效果。总是相同的运行时错误。

我还尝试在构建解决方案时更改 CPU 配置。但没有帮助。

所以我现在正在寻求专家的帮助。

仅供参考,我的设备具有以下平台:

  • Windows Mobile 6 经典版
  • CE 操作系统 5.2.1433
  • 处理器:ARM920T

而且开发环境...

  • 视窗 7 64 位
  • 视觉工作室 2005

先感谢您,

0 投票
2 回答
16775 浏览

c++ - c++导出和使用dll函数

我不能完全弄清楚哪里有错误。我正在创建一个 DLL,然后在 C++ 控制台程序(Windows 7、VS2008)中使用它。但是我LNK2019 unresolved external symbol在尝试使用 DLL 函数时得到了。

首先是导出:

这是我随后使用的一个头文件:

然后是控制台程序中的dllimport,它的DLL包含在Linker->General->Additional Library Directories中:

我不知道这里出了什么问题;它必须是非常简单和基本的东西。