C+的C#包装器+; 我正在编写一个我想用C语言编写的应用程序,但是我需要使用C++中的一个库。供应商用一些C++代码来补充他们的DLL,使API更方便,它确实是这样,但它仍然是C++。我想把这个额外的C++代码加入到我的应用程序中。创建一个DLL似乎是合理的,将供应商提供的C++代码和其他调用封装到一个可以在C语言中使用的模块。

C+的C#包装器+; 我正在编写一个我想用C语言编写的应用程序,但是我需要使用C++中的一个库。供应商用一些C++代码来补充他们的DLL,使API更方便,它确实是这样,但它仍然是C++。我想把这个额外的C++代码加入到我的应用程序中。创建一个DLL似乎是合理的,将供应商提供的C++代码和其他调用封装到一个可以在C语言中使用的模块。,c#,c++,dll,C#,C++,Dll,我的问题是,将一个DLL包装到另一个DLL中有意义吗?我应该注意哪些潜在问题 最好的, John为了创建更好的API(或者在您的例子中是.NET API)而包装包装器是可以的。您可能会面临一些互操作问题,因为当从托管代码移动到非托管代码时,这些问题总是会弹出 我建议使用源代码提供的部分,并将其转换为C++/CLI。C++ + CLI代码可以直接使用C++库,无论是通过静态链接还是作为DLL。反过来,C++/CLI代码编译成.NET程序集,并且可以包含可直接从C#使用的.NET类型。catch是因

我的问题是,将一个DLL包装到另一个DLL中有意义吗?我应该注意哪些潜在问题

最好的,
John

为了创建更好的API(或者在您的例子中是.NET API)而包装包装器是可以的。您可能会面临一些互操作问题,因为当从托管代码移动到非托管代码时,这些问题总是会弹出

我建议使用源代码提供的部分,并将其转换为C++/CLI。C++ + CLI代码可以直接使用C++库,无论是通过静态链接还是作为DLL。反过来,C++/CLI代码编译成.NET程序集,并且可以包含可直接从C#使用的.NET类型。catch是因为.NET类型是由垃圾收集器移动的,所以不能将那些和C++原生类型放在同一内存块中。但是他们可以很好地相互指向对方。