C++和C#之间的通信

本文关键字:通信 之间 C++ | 更新日期: 2023-09-27 18:26:57

我想在我的应用程序中同时使用C++和C#。

C#用于GUI设计,C++用于处理。

但我对此一无所知。他们之间如何沟通。

我不知道从哪里开始研究。

有人能告诉我这项技术的概况吗?如果有人有关于这个主题的文件,请给我。

我正在使用Visual Studio 2010进行开发。

非常感谢,

T&T组

C++和C#之间的通信

您正在寻找的技术是C++/CLI,这是C++的专有语言扩展,允许与.Net代码进行交互。

基本思想是:您可以像以前一样用可移植的ISO C++编写C++库。然后,在C++/CLI中为那些要从C#(或任何其他.Net语言)调用的C++组件添加一个精简包装器。请注意,C++/CLI只用于编写与.Net交互的代码。不要试图在CLI中编写实现,因为您最终会得到不可移植的代码,而且可能比纯C++版本更难维护。

这取决于应用程序的体系结构,例如,您可以创建两个不同的应用程序,一个是核心,另一个是GUI,并通过消息进行通信。

例如,在Windows上,您可以使用Windows消息队列,让两个端点相互通信。

您可以使用C++CLI或本机C++。C++CLI是托管代码,CLR将不托管本机C++。两者之间的选择取决于您的使用情况。C++CLI存在某些限制。

它也完全取决于体系结构和需求。您可以在C++(lib)中编写处理指令,并在GUI中使用它们。可以在VS 2010中轻松完成