C++的DLL负责收取网络上传过来的视频流并传递给C#程序,C#程序负责解码、显示。现在想这样做,由C#向C++的DLL提供一个函数指针,C++的DLL来调用这个由C#程序的函数指针去把视频流传给C#程序。请教,这种设计是否合理,安全性上有没有问题?
C++的DLL负责收取网络上传过来的视频流并传递给C#程序,C#程序负责解码、显示。现在想这样做,由C#向C++的DLL提供一个函数指针,C++的DLL来调用这个由C#程序的函数指针去把视频流传给C#程序。请教,这种设计是否合理,安全性上有没有问题?
C#没有函数指针可以有代理呀,总之C#提供一个类似C++中函数指针这样概念的东西给C++调用应该是行得通的吧?
C++不能直接调用c#,只能将c#生成为com,然后c++再调用;
如果不是就不能直接调用的(好久没用了,我也记得不太清楚了,反正转成com肯定都可以调用);
1、这么做,app调用dll,dll也调用app,相互依赖,而不是单向依赖:仅有app依赖dll。依赖性太强。
2、违反动态连接库的设计初衷:为APP被动提供服务。
3、在安全性方面:C#调用C++的,和C++调用C#的,有无区别?会不会是前者更安全些?
仅有app依赖dll,方便你进行调试,有问题也好解决。
C#调用C++的,和C++调用C#的只是前者容易使用