Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种(半)自动的方式来使用非托管C++;带C#但不带COM的dll? 我有一个用C++编写的第三方非托管DLL。这个库包含很多类和很多方法。图书馆不是基于COM的;尝试tlbimp只会得到一个错误,即DLL不是有效的类型库。 我设法从这个DLL中使用了从托管C++中的功能,编写了一个包装DLL,它将所有的东西委托给非托管的,并使用它从C中工作。但是,第三方DLL很大,因此我必须手动重新实现整个接口,以便将所有功能委托给非托管DLL。 有没有办法简化这一点?首先想到的是因为我来自JVM宇宙是反射,但是C++不支持它。_C#_C++_.net_Dll - Fatal编程技术网

是否有一种(半)自动的方式来使用非托管C++;带C#但不带COM的dll? 我有一个用C++编写的第三方非托管DLL。这个库包含很多类和很多方法。图书馆不是基于COM的;尝试tlbimp只会得到一个错误,即DLL不是有效的类型库。 我设法从这个DLL中使用了从托管C++中的功能,编写了一个包装DLL,它将所有的东西委托给非托管的,并使用它从C中工作。但是,第三方DLL很大,因此我必须手动重新实现整个接口,以便将所有功能委托给非托管DLL。 有没有办法简化这一点?首先想到的是因为我来自JVM宇宙是反射,但是C++不支持它。

是否有一种(半)自动的方式来使用非托管C++;带C#但不带COM的dll? 我有一个用C++编写的第三方非托管DLL。这个库包含很多类和很多方法。图书馆不是基于COM的;尝试tlbimp只会得到一个错误,即DLL不是有效的类型库。 我设法从这个DLL中使用了从托管C++中的功能,编写了一个包装DLL,它将所有的东西委托给非托管的,并使用它从C中工作。但是,第三方DLL很大,因此我必须手动重新实现整个接口,以便将所有功能委托给非托管DLL。 有没有办法简化这一点?首先想到的是因为我来自JVM宇宙是反射,但是C++不支持它。,c#,c++,.net,dll,C#,C++,.net,Dll,我没有非托管DLL的源代码,只有DLL本身、与其关联的.lib和一堆头文件。此DLL的功能通过\uu declspec(dllexport)导出。您应该了解PInvoke和封送处理。应该可以使用您的dll。有。。。但这是复杂的,我目前正在尝试游泳,但我认为我必须深入研究它相当严重。我添加了一个简单的.I文件,该文件只包含头,但没有导出到生成的C类(它们是空的)。我想我会和pNojk一起去。@ RabjEnes,如果你需要新的< /Cord> C++类,然后是代码>删除< /代码>,你就不能直接使

我没有非托管DLL的源代码,只有DLL本身、与其关联的
.lib
和一堆头文件。此DLL的功能通过
\uu declspec(dllexport)

导出。您应该了解PInvoke和封送处理。应该可以使用您的dll。有。。。但这是复杂的,我目前正在尝试游泳,但我认为我必须深入研究它相当严重。我添加了一个简单的.I文件,该文件只包含头,但没有导出到生成的C类(它们是空的)。我想我会和pNojk一起去。@ RabjEnes,如果你需要<代码>新的< /Cord> C++类,然后是代码>删除< /代码>,你就不能直接使用pPoCKE。我认为最好的解决方案确实是手动编写包装器。至少,我目前只需要第三方DLL的一小部分功能,所以我可以自适应地添加新内容。