C++,dll的返回类型是vector,该如何将其转换成什么类型的数据方便C#接受?谢谢各位大神!

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了