同一.NET应用程序中的C#和C++代码
本文关键字:C++ 代码 NET 应用程序 同一 | 更新日期: 2023-09-27 18:29:54
我应该使用Open CV,它可以用C++编程并部署在.NET图形界面应用程序中。我真的很想和C#一起研究接口特性。
最好的方法是什么?
我知道在同一应用程序中使用C#和C++的两种方法。
最简单的方法是,用C++和C#编写的组件可以分离,这样一个组件依赖于另一个,但它们并不相互依赖。在这种情况下,只需创建两个程序集,一个在C#中,另一个在VC++中,并从另一个程序集引用一个。这是最简单的方法,尤其是因为VisualStudio的UI支持它。
然而,如果存在相互依赖,即类a需要知道类B,类B需要知道类a,其中类a将用C++编写,类B将用C#编写,那么这种方法将不起作用。使用.NET的一个鲜为人知的功能,即多文件程序集或netmodule,仍然可以用不同的语言编写类。
有关说明,请参见如何:生成多文件部件和多文件部件。记住C++编译器通常比其他编译器更聪明是很有用的。我似乎记得这个过程是让C#将其一半编译到NetModule,然后将其传递给C++编译器和链接器,后者能够将其链接到C++部分并创建最终程序集。
如果你只想写少量的C#代码,另一种方法是学习你想要使用的.NET功能的VC++语法,并完全避免使用C#。VC++可以像C#一样声明托管接口和类型,如果你不会用C#编写太多实际的代码,那么这可能会更容易。