如何将在 rad studio 中创建的 C++ DLL 获取到在 C# 中使用的 b

How to get C++ DLL created in rad studio to b used in C#

我需要在我的 .Net 服务中使用第三方 code/dll。我做了一些研究。但我找不到任何直接的答案。大多数建议使用包装器 class 将代码移植到 VS C++ .net 中。同时,由于使用了 VCL-headers,在 VS C++ 中没有替代品。有人可以指导我吗?

正在使用的 VCL 文件是:Classes.hpp、Sockets.hpp 和 ExtCtrls.hpp

提前致谢。

用 C++Builder 编写的 DLL 在 C# 中工作得很好 提供 DLL 导出使用基本 interop-safe 数据类型的平面 C-style 函数以及可跨多个编译器移植的调用约定。或者 DLL 实现 COM object(因为 COM 具有标准化的 ABI)。这与编写可用于多种语言的任何 DLL 没有什么不同,包括 Delphi、VB、Java、Perl、PHP 等

您不能在 DLL 的 public 接口中直接使用 VCL headers,因为 VCL 不可移植到 non-Delphi/C++Builder 编译器。但是您可以将 VCL 代码隐藏在可移植的抽象层后面。