问题标签 [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 投票
2 回答
4122 浏览

windows - 构建 64 位 dll 的警告

dll导出头

.def 文件

当我通过 64 位构建配置构建 dll 时,我遇到了这个警告。

警告 LNK4197:多次指定导出“foo”;使用第一个规范

但如果我通过 32 位构建配置构建 dll,则永远不会出现警告。
问题是什么?有什么区别。

在接口的dll头中,我们通常使用这种技术,

但是如果def文件也存在,我们在构建64位dll时总是会遇到警告。
那么,我们应该这样写代码吗?

它运作良好。但这对我来说并不熟悉。
给我你的任何意见。

0 投票
4 回答
7481 浏览

c++ - 如何从另一个 C++ win32 控制台应用程序调用 C++ Win32 DLL

我主要关心的是,我能够使用 VC++ 编写 C++ dll。现在 dll 出现在 Debug 文件夹中。

如何在其他 C++ 控制台应用程序中使用我的 DLL。如何添加引用或将 DLL 链接到应用程序。

另一点,在创建 DLL 时,VC++ 向导给了我三个选项:

  1. 空 DLL 项目
  2. 一个简单的 DLL 项目
  3. 导出一些符号的 DLL

现在根据CP的文章,我使用了第三个选项。(由于 MFC 应用程序使用了该 dll,因此无法跟踪,此时有些先进

我是否需要始终选择第三个选项?另外两个选项是什么意思?

0 投票
1 回答
753 浏览

visual-studio - 使用不同编译器版本的调试构建的链接器错误

我们有一个在发布模式下使用 MS Visual Studio 2010 构建的 DLL。我们将此 DLL 与 .lib 文件一起提供给不同的客户。DLL 中的函数通过以下方式导出:

extern "C" __declspec(dllexport) int analyze(int id);

我们的客户有两个使用此 DLL 的应用程序。这两个应用程序都使用以下方式导入 DLL 函数:

extern "C" __declspec(dllimport) int analyze(int id);

其中一个应用程序是使用 MS Visual Studio 2010 构建的。此应用程序可以在调试和发布模式下成功构建。

不幸的是,另一个应用程序必须使用 MS Visual Studio 2005 作为其构建环境。在这个应用程序中,可以成功构建发布版本,但是,当我们尝试在调试模式下构建时,我们会收到链接器错误:

LNK2019:函数“void __cdecl process(char const *,char const *)”(?process@@ABCERFG0@Z) 中引用了未解析的外部符号 __imp_analyze

有人可以帮助我了解我们在这里缺少什么吗?我们是否以不能跨编译器移植的方式导出函数?解决方案是什么?

问候,

0 投票
1 回答
197 浏览

c++ - 如何从 VS2008 调用 C++ dll

好吧,我已经使用CP的文章创建了一个 DLL。为了创建这个 DLL,我也使用了 VS2008。现在我不确定如何从 VS2008 中创建的另一个 C++ 应用程序调用这个 DLL。当我单击Refrences>Add New Reference它时,要求的是项目文件夹而不是 DLL 路径。

在代码项目文章中,添加预处理器和设置库链接的步骤很少。我不太确定该怎么做?

0 投票
3 回答
1534 浏览

c++ - 使用 C++ 和 Visual Studio 2008 的 MFC DLL

我似乎找不到任何关于如何使用 Visual Studio 2008 创建 MFC DLL 的演练。我的问题如下。我需要将 wininet.h 与我的 DLL 一起使用,我的解决方案是使用 MFC DLL。无论如何尝试链接我的项目给了我5 链接错误
我相信该错误是我需要添加附加库目录的一种。但是我应该添加哪一个?

所有帮助将不胜感激!我什至希望链接到使用 MFC 的 DLL 的教程或演练。

0 投票
1 回答
1052 浏览

db2 - db2look 削减 longs 程序

我使用 db2look 导出我的 DDL。

但它切断了冗长的程序。

我使用以下命令:

db2look -td @ -d DBNAME -z SCHEMANAME -e -c -o dump.sql

例如,如果我使用 Toad for DB2,一切都很好。

0 投票
2 回答
1994 浏览

c# - 在 C# 中定义外部“C”函数

我有一个用 C# 编写的 ActiveX 控件,并在 ActiveX 兼容程序 (CoDeSys) 中运行时工作。我遇到的问题是,为了让 CoDeSys 与 ActiveX 控件交互,CoDeSys 需要 dll 来导出函数原型:

我已经查看了如何像在 C++ 中一样导出它,但没有成功,如下例所示:

C# 确实有一个extern关键字,但它不允许您提供函数定义(至少我还没有找到方法)。尝试此操作后:

出现以下错误:

有没有人尝试在 C# dll 中导出函数?

有什么解决方法吗?(我想到了[DllImport("AlarmsCSharp.dll")]并在 C++ dll 中调用 C#,但我想看看是否有人以前有解决方案)

也许我想多了,不需要导出这个函数,因为 ActiveX 控件已经能够与 C# 代码交互。

编辑:我感觉我从 C++ 函数原型到 C# 接口声明的翻译。如果在 C++/C# 编程方面有更多经验的人可以验证我所做的翻译是否正确,那可能会有所帮助。

0 投票
1 回答
4198 浏览

c# - 如何在 C# 中读取(本机)DLL 的导出函数名称?

我知道我可以阅读PE 规范以编写执行此操作的代码。但是,由于我手头没有太多时间,我希望你们中的一些人可能已经准备好发送这样的代码示例。

重要提示: 32位和64位有什么区别吗?

感谢您的时间!

0 投票
1 回答
3767 浏览

c++ - 错误:全局范围没有 GetUrl

我的 C++ DLL 有一个新问题...我尝试导出整个类而不是仅导出一种方法。但是程序现在不想编译,因为全局范围没有 GetUrl
这是我的“UrlConnector.h”:


这是我的 UrlConnector.cpp 中未编译的部分: 现在,我希望能够从中创建一个 DLL,并且我想制作一个测试程序来调用类和方法 GetUrl 从dll。我正在使用带有 Visual C++ DLL 的 Visual Studio 2010。 我还设法从 MSDN本教程中阅读了这个,但我似乎无法让它工作!我真的很感激任何帮助!
/code>

0 投票
1 回答
291 浏览

winapi - 如何实现rundll2-callable函数?

我正在尝试编写一个 exe,它还导出可以用 rundll32 调用的函数。这可能吗?如果可以,为什么它不能像这样工作?

我密切关注微软对此的建议

但是当被调用时

rundll32 崩溃/DEP 启动。