You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#加载含Euresys EGrabber.h的C++ DLL无报错却异常,求助解决

C#调用含Euresys EGrabber.h的C/C++ DLL加载异常排查与解决

问题背景

  • C#程序导入C/C++编写的DLL时,仅包含3个函数的小型测试DLL可正常工作,但整合完整代码后出现异常
  • 异常表现:DLL已加载但未完成加载流程,无法调用导入的函数,程序停滞且C#无任何报错输出
  • 初步排查确认:引入Euresys专有头文件EGrabber.h后触发该异常

排查过程

  1. 进一步定位问题根源:异常由某CPP文件中声明的、类型来自EGrabber.h的全局变量导致
  2. 调整测试:将该变量移至导出函数内部声明并使用,此时DLL可正常加载,但调用该特定函数时程序崩溃

解决方法

将该变量声明为(void *)类型,并在导出函数内部执行new操作初始化,目前可正常使用该变量及相关功能

内容的提问来源于stack exchange,提问作者ggeof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:22:46