使用C可执行文件中的c#库(dll)类挂在ghandle(^)上
Using a C# library (dll) class from c executable hangs on the GSHandle (^)
在你说我做不到之前,让我们谈谈我能做什么....我可以从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)没有找到库的代码集。
事实是,我的代码中这三个都出了问题,它们中的任何一个都可能是导致崩溃的原因。
相关文章:
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- C++:将外部库链接到dll库
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 不同的Visual Studio版本中缺少.dll
- 从DLL中删除类的实例
- 如何包装第三方DLL在R中使用
- 使用c#访问c++dll中带有char*参数的函数时发生AccessViolationException
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 当我使用 C++ 中的 C# dll 来使用 Selenium 时,存在异常处理问题
- Python ctypes:不会按预期加载 dll
- 使用C可执行文件中的c#库(dll)类挂在ghandle(^)上