问题标签 [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.
windows - 构建 64 位 dll 的警告
dll导出头
.def 文件
当我通过 64 位构建配置构建 dll 时,我遇到了这个警告。
警告 LNK4197:多次指定导出“foo”;使用第一个规范
但如果我通过 32 位构建配置构建 dll,则永远不会出现警告。
问题是什么?有什么区别。
在接口的dll头中,我们通常使用这种技术,
但是如果def文件也存在,我们在构建64位dll时总是会遇到警告。
那么,我们应该这样写代码吗?
它运作良好。但这对我来说并不熟悉。
给我你的任何意见。
c++ - 如何从另一个 C++ win32 控制台应用程序调用 C++ Win32 DLL
我主要关心的是,我能够使用 VC++ 编写 C++ dll。现在 dll 出现在 Debug 文件夹中。
如何在其他 C++ 控制台应用程序中使用我的 DLL。如何添加引用或将 DLL 链接到应用程序。
另一点,在创建 DLL 时,VC++ 向导给了我三个选项:
- 空 DLL 项目
- 一个简单的 DLL 项目
- 导出一些符号的 DLL
现在根据CP的文章,我使用了第三个选项。(由于 MFC 应用程序使用了该 dll,因此无法跟踪,此时有些先进)
我是否需要始终选择第三个选项?另外两个选项是什么意思?
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
有人可以帮助我了解我们在这里缺少什么吗?我们是否以不能跨编译器移植的方式导出函数?解决方案是什么?
问候,
c++ - 如何从 VS2008 调用 C++ dll
好吧,我已经使用CP的文章创建了一个 DLL。为了创建这个 DLL,我也使用了 VS2008。现在我不确定如何从 VS2008 中创建的另一个 C++ 应用程序调用这个 DLL。当我单击Refrences>Add New Reference
它时,要求的是项目文件夹而不是 DLL 路径。
在代码项目文章中,添加预处理器和设置库链接的步骤很少。我不太确定该怎么做?
c++ - 使用 C++ 和 Visual Studio 2008 的 MFC DLL
我似乎找不到任何关于如何使用 Visual Studio 2008 创建 MFC DLL 的演练。我的问题如下。我需要将 wininet.h 与我的 DLL 一起使用,我的解决方案是使用 MFC DLL。无论如何尝试链接我的项目给了我5 链接错误
我相信该错误是我需要添加附加库目录的一种。但是我应该添加哪一个?
所有帮助将不胜感激!我什至希望链接到使用 MFC 的 DLL 的教程或演练。
db2 - db2look 削减 longs 程序
我使用 db2look 导出我的 DDL。
但它切断了冗长的程序。
我使用以下命令:
db2look -td @ -d DBNAME -z SCHEMANAME -e -c -o dump.sql
例如,如果我使用 Toad for DB2,一切都很好。
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# 编程方面有更多经验的人可以验证我所做的翻译是否正确,那可能会有所帮助。
winapi - 如何实现rundll2-callable函数?
我正在尝试编写一个 exe,它还导出可以用 rundll32 调用的函数。这可能吗?如果可以,为什么它不能像这样工作?
我密切关注微软对此的建议。
但是当被调用时
rundll32 崩溃/DEP 启动。