大家好,我用C++实现的图片编码生成字节数组,在C++中字节数组是用unsigned char*表示的。
我在C#中调用这个函数,怎么接收这个字节数组呢?。

C#调用++ dll接收字节流问题

解决方案 »

  1.   

    IntPtr
    具体查msdn吧 应该是这个吧 指针貌似都可以用这个
      

  2.   

    首先要把函数转换成C#的可用函数..
    将参数转换成C#可识别的参数.
    就像系统API在C#中的使用一样的.
      

  3.   

    http://dongtingyueh.blog.163.com/blog/static/461945320124239215442/
      

  4.   

    unsigned char*
    C# 用ref byte
      

  5.   

    其他同事说 字节数组 在C中是用unsigned char* 表示的。我也看了看ffmpeg确实用这个表示的。
    在C#中调用的时候类型自己变成byte*了
      

  6.   

    返回值在参数中返回吗?
    我现在是这样写的
    C++中
    unsigned char* EncodeFrame(Bitmap^ frame);
      

  7.   

    参考http://blog.csdn.net/sunboyljp/article/details/5110639
      

  8.   

    其他同事说 字节数组 在C中是用unsigned char* 表示的。我也看了看ffmpeg确实用这个表示的。
    在C#中调用的时候类型自己变成byte*了
    你在做视频的东西么?
    我原来也做过一次webcam的项目 里面用的IntPtr 没有问题啊
    其他人的也许也可以work 不过没有试过 呵呵 楼主可以自己看看
      

  9.   

    其他同事说 字节数组 在C中是用unsigned char* 表示的。我也看了看ffmpeg确实用这个表示的。
    在C#中调用的时候类型自己变成byte*了
    你在做视频的东西么?
    我原来也做过一次webcam的项目 里面用的IntPtr 没有问题啊
    其他人的也许也可以work 不过没有试过 呵呵 楼主可以自己看看
    恩做视频语音实时传输,用h264对每一帧编码后返回给C#然后用rtp传输的,这块以前没接触过很是麻烦啊
    刚刚看了看array<unsigned char>^ 在c#中直接就编译成byte[]了。