C++的DLL负责收取网络上传过来的视频流并传递给C#程序,C#程序负责解码、显示。现在想这样做,由C#向C++的DLL提供一个函数指针,C++的DLL来调用这个由C#程序的函数指针去把视频流传给C#程序。请教,这种设计是否合理,安全性上有没有问题?

解决方案 »

  1.   

    一般不是C#调用C++,LZ为什么要用C++调用C#呢?而且C#没有函数指针啊。没看懂意思。
      

  2.   


    C#没有函数指针可以有代理呀,总之C#提供一个类似C++中函数指针这样概念的东西给C++调用应该是行得通的吧?
      

  3.   

    可以的,调用系统API时,就有传代理的,像EnumWindows
      

  4.   

    你的问题是关于C#的互操作问题
    C++不能直接调用c#,只能将c#生成为com,然后c++再调用;
      

  5.   

     可以的,调用 .NET 框架和 系统API来进行实现
      

  6.   

    他直接调用的,那你问了他写的是托管还是非托管c++没,如果是托管代码的c++当然可以直接调用c#的组件,
    如果不是就不能直接调用的(好久没用了,我也记得不太清楚了,反正转成com肯定都可以调用);
      

  7.   

    是不是这样?
    1、这么做,app调用dll,dll也调用app,相互依赖,而不是单向依赖:仅有app依赖dll。依赖性太强。
    2、违反动态连接库的设计初衷:为APP被动提供服务。
    3、在安全性方面:C#调用C++的,和C++调用C#的,有无区别?会不会是前者更安全些?
      

  8.   


    仅有app依赖dll,方便你进行调试,有问题也好解决。
    C#调用C++的,和C++调用C#的只是前者容易使用