在C ++和C#之间进行通信?

时间:2012-03-07 11:33:25

标签: c# c++ visual-studio c++-cli

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

用于GUI设计的C#和用于处理的C ++。

但我对此并不了解。如何在他们之间进行沟通。

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

有人可以告诉我这项技术的概述吗?如果有人有关于这个主题的文件,请把它交给我。

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

非常感谢,

T&安培; T组

4 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

在Windows上,您可以使用Windows message queue,让两个端点相互通信。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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