C++,dll的返回类型是vector,该如何将其转换成什么类型的数据方便C#接受?谢谢各位大神!
最好就在c++那里转换成数组,这样才方便接收,vector,C#是没办法认识的。
楼上回答算是可以吧,c# 我懂得不太多 ,,看起来好像是对的 ,不过c++方面略显简陋了点 ,给你贴一份我和c#交互时的写法嘛
struct MyStruct
{
int nSelfLen;
char* p1;
};
int __stdcall test( MyStruct*& ms )
{
ms = new MyStruct[ 10 ];
ms->nSelfLen = 10;
for ( int i = 0; i < 10;++i )
{
ms[ i ].nSelfLen = 10;
ms[i].p1 = new char[ 1024 ];
}
return 0;
}
void __stdcall freeStruct( MyStruct*& ms )
{
if ( ms )
{
for ( int i = 0; i < ms->nSelfLen; ++i )
{
delete[] ms[ i ].p1;
}
delete[] ms;
}
}
一般就是这样的,struct数组也就是个vector了