日期:2014-05-18  浏览次数:20919 次

哪位高手提供下思路
硬盘录像机的DEMO是用C++写的,不想经过C++封装,然后C#用DLLIMPORT的方式来做,而是想直接全用C#写,请高手指点思路,如能有点具体的例子最好。

------解决方案--------------------
我也帮你顶一下
------解决方案--------------------
底层 DLL 用 C++ 封装并暴露必要接口

这样的好处是,你这个 DLL 可供任意支持 COM+ 规范的 Windows 平台语言调用
这样,就不局限于别人非得用 C# 了

此外 C# 等 .NET 平台语言直接操作底层还是比较麻烦的(据我所知,好像还没有多少先例?),因此推荐你底层使用 C++ 封装后再使用 C# 调用
------解决方案--------------------
邦顶一下子
------解决方案--------------------
那你需要知道非常熟悉 C++ 和 C# 之间的数值类型转换类库对应关系的替换。
知道这些你就可以做了,但是提醒一句,我觉得调用 DllImport 是不可避免的。
C# 的指针没有 C++ 这么 NB,不可能重写所有 C++ 的代码,所以 API 逃不掉的。
所以,还是请楼主放弃这个想法吧。
不要把时间用在徒劳的事情上。
------解决方案--------------------
这个没做过。关注楼主
------解决方案--------------------
我之前是直接透過 C# 載入 C++ 的驅動程式並控制,整個專案只有 C# Windows Forms App 與一個 sys 檔案,遇到的難度都是 C++ 資料型態與 C# 資料型態對應的問題,提供小小意見給樓主參考。