使用C可执行文件中的c#库(dll)类挂在ghandle(^)上

Using a C# library (dll) class from c executable hangs on the GSHandle (^)

本文关键字:ghandle dll 使用 可执行文件      更新时间:2023-10-16

在你说我做不到之前,让我们谈谈我能做什么....我可以从c++可执行文件中调用c#库。(我在这个项目上做过)我可以从C调用c++库(这不应该是一个惊喜)

因此,将这三个代码与调用c#库的c++代码和调用相同c++库的C代码链接在一起,C执行线程会在ghandle(^)上阻塞/崩溃。有人看过这个吗?除了尝试跳过大峡谷之外,我还错过了什么让这一切无法实现的东西吗?

我的代码?嗯,从c#运行c++库是可行的。如果我使用c#类和GCHandle(^)删除所有引用,那么从c运行c++库就可以工作。现在,让我们假设c++是基于这里选中的答案:如何从Native c++调用c#库(使用c++ CLI和IJW)

我现在已经让它工作了。我不能肯定地说,但我怀疑这是三种可能性之一。

1) C代码阻塞了我试图从C代码中使用的类。我完全从c包装器中删除了类结构,只使用函数。(显然我已经离开c太久了。)

2)当在公司构建环境中构建时,代码抛出了链接器错误。

3)没有找到库的代码集。

事实是,我的代码中这三个都出了问题,它们中的任何一个都可能是导致崩溃的原因。