C++和C#之间的通信
本文关键字:通信 之间 C++ | 更新日期: 2023-09-27 18:26:57
我想在我的应用程序中同时使用C++和C#。
C#用于GUI设计,C++用于处理。
但我对此一无所知。他们之间如何沟通。
我不知道从哪里开始研究。
有人能告诉我这项技术的概况吗?如果有人有关于这个主题的文件,请给我。
我正在使用Visual Studio 2010进行开发。
非常感谢,
T&T组
您正在寻找的技术是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中轻松完成