qq_41265771
qq_41265771
采纳率0%
2019-03-01 11:12

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

5

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • d2262272d 窝米逗佛~ 2年前

    楼上回答算是可以吧,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了

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2年前

    最好就在c++那里转换成数组,这样才方便接收,vector,C#是没办法认识的。

    点赞 评论 复制链接分享

相关推荐