如何实现C#和C++混合编程

最近在想如何实现C#和C++混合编程的问题,为什么会想到这个问题?是因为,在视觉方面我是有学习 OpenCV 的打算的。发现用托管 C++ 代码,包装非托管 C++ 代码;然后,C# 无缝衔接托管 C++。这种方式比较可行。

最开始想的是,用 Qt 去包 OpenCV,然后再 C# 里面调用 Qt 程序。了解了下,需要用到qtwinmigrate,试了下,发现比较麻烦,也没有搞成功。感觉这种方式还是可行。如果有时间折腾这个,那我还不如花时间精力学习下 Qt,直接用 Qt 开发呢!

后面发现在互联网上,大家还有一种方法。用托管 C++ 代码,包装非托管 C++ 代码;然后,C# 无缝衔接托管 C++。看了一些互联网上的博客,感觉此路可行。在 Windows 下这可能是种最佳的解决方案。这种方式貌似可以使用类,而PInvoke的方式只能调用函数吧!?

说的PInvoke,发现一个网站:http://pinvoke.net/。有需求的时候可以来这里查看。

感谢支持!