C#调用C++的DLL时,返回值的问题
C#调用C++的DLL,其他方面都没有出现错误,就是在接受返回值的时候,有的电脑可以接收,有的电脑会报错。C#:stringjsonShockHammer=Calcula...
C#调用C++的DLL,其他方面都没有出现错误,就是在接受返回值的时候,有的电脑可以接收,有的电脑会报错。
C#:string jsonShockHammer = CalculateInterface.CalShockHammer(shoHammer , guideWire , selection);
C++这边如果通过string传值给char*,如char* answer = StringToChar(answer_s),(StringToChar是我定义的函数,把string转换为char*),C#接受返回值会报错,如果直接定义char* = "abc",这样C#接受返回值不会报错,已经排除了字符串长度过长,或者是里面有无法接受的格式的问题,所以想请教一下大家这个问题该怎么解决。
最后要强调一下的是,有的电脑不会报错,可以成功接收,有的电脑就不行。
报错截图如下 展开
C#:string jsonShockHammer = CalculateInterface.CalShockHammer(shoHammer , guideWire , selection);
C++这边如果通过string传值给char*,如char* answer = StringToChar(answer_s),(StringToChar是我定义的函数,把string转换为char*),C#接受返回值会报错,如果直接定义char* = "abc",这样C#接受返回值不会报错,已经排除了字符串长度过长,或者是里面有无法接受的格式的问题,所以想请教一下大家这个问题该怎么解决。
最后要强调一下的是,有的电脑不会报错,可以成功接收,有的电脑就不行。
报错截图如下 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询