从 Visual Basic 调用 C++ dll 类 [重复]

Posted

技术标签:

【中文标题】从 Visual Basic 调用 C++ dll 类 [重复]【英文标题】:Calling C++ dll class from Visual Basic [duplicate] 【发布时间】:2015-02-28 21:04:18 【问题描述】:

所以我和我的朋友有这个项目,我有一个需要从 Visual Basic 调用的 C++ 类。我已经看到了一些关于此的事情,但没有多大帮助。有人知道怎么做这个吗?我在 C++ 方面有很多经验,但在 Visual Basic 方面没有经验。我的朋友都是VB专家。

我正在使用 Visual Studio,但如果需要,我也有 gcc/g++。

【问题讨论】:

这已经讨论过不止一次了,例如***.com/questions/9632713/… 调用 c++ dll 是的。但我还没有找到 c++ CLASS dll 的答案。 一般是C++类。否则它将(大部分)只是C。 嗯,你发布的链接和我在网上找到的只处理函数,而不是类。 【参考方案1】:

评论太拥挤了。你没有说你有什么特别的问题(也许得到一个类实例)。以下是一些有希望的链接:

Importing Class from C++ dll Thread: How to call a C++ dll function at runtime ? Calling DLL Functions from Visual Basic Applications Calling a C++ DLL from Visual Basic

由于 VB.Net 是托管的,而 C++ 不是托管的,因此可能需要一些工作来编组与 DLL 之间的数据(参见第 4 个链接)。第一个链接按要求处理类。函数当然不能被忽视,除非你只对传递对象感兴趣。其中一些也在 SO 上处理:

Why do C# and VB.NET implicitly marshal char* differently? return string from c++ function to VB .Net

【讨论】:

以上是关于从 Visual Basic 调用 C++ dll 类 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

返回String类型时Visual Basic WPF加载ATL C++ dll程序退出

Visual C++:从 DLL 调用时 XGBoost 不起作用

在 Visual Studio 6 中从 VB 调用 VS2010 C++ dll

Visual Lisp:如何调用外部 C++ DLL 中的函数

Visual Basic SaveDialog 缺少 dll

visual C++中error C2352是啥意思