问题是这样的,一个C++封装的DLL(64位),返回的是一个结构Struct1的指针地址,
C++端是这样的
struct Struct1
{
int i1;
vector *pv1
}
struct Struct2
{
int i2;
vector *pv1
}
,现在的问题是C#端在调用C++的DEBUG版本DLL时可以解出正确值,但是在RELEASE版本时得不到正确值,首先可以肯定的是,DEBUG和RELEASE版本的D
LL都是正确的执行了,C#端怎么处理这个问题?
C#调用C++的DLL(64位)(Debug版本和Release版本结果不同)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 窝米逗佛~ 2020-04-23 11:46关注
vector最好就在c++那里转换成数组!
c++ 的vector 是模板,c#的是泛类
所以一般写跨语言接口的时候都是使用c的基本类型作为交互,避免出现对齐之类的问题本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报