链接到 C# GUI 的 C++ 程序

Posted

技术标签:

【中文标题】链接到 C# GUI 的 C++ 程序【英文标题】:C++ program linked to C# GUI 【发布时间】:2016-04-02 15:30:16 【问题描述】:

我目前正在制作一个应用程序,其中我用非托管 C++ 编写了底层模型(逻辑)(目前它只是在 Visual Studio C++ 控制台应用程序项目中)但是我想在 C# 中创建接口,因为我了解由于 WPF,GUI 编程要容易得多。

代码模型是用 C++ 编写的,因为这是我最熟悉的语言并且出于效率的原因。将其移植到 C# 绝对是一种选择,但我对 C# 不是很熟悉(虽然我对 Java 有丰富的经验,所以我确信这不是一个大的飞跃)所以我宁愿将我的逻辑保留在 C++ 中。

在网上查找时,我在这里找到了与此相关的先前问题:

Fast C++ program, C# GUI, possible?

但是,这是 6 年前的事了,我想知道是否有任何更新(更简单)的方法可以将 C++ 项目链接到 Visual Studio 2015 中的 C# (GUI) 项目?我想我仍然需要在 VS 中通过 CLR->Class Library 创建一个托管 C++ 项目,但是有什么新东西可以让整个过程更容易吗?

我还应该注意,如果这对用于制作实际 GUI 的方法有任何影响(即,这在 C# 中是否可以通过 WPF 实现?)

【问题讨论】:

【参考方案1】:

绝对托管的 C++/CLI 并不是最美丽的东西,但它存在的全部意义在于将非托管代码与 .NET 世界连接起来,而且它做得很好。

当一个解决方案在 VS 中开箱即用、准备就绪并设置好时,我实际上认为没有理由寻找替代方案。

【讨论】:

这个。我开始编写自己的答案,但意识到它与此答案基本相同。不是非常漂亮,但只要您将 CLI 保持在一个很小的层以将 C++ 肉暴露给 .Net,您就很成功了。它只是工作。还可以查看 msdn.microsoft.com/en-us/library/bb384865.aspx 用于转换字符串、shared_ptrs 等

以上是关于链接到 C# GUI 的 C++ 程序的主要内容,如果未能解决你的问题,请参考以下文章

为啥c#可以在android和iOS上制作带有GUI的程序而c++不能? [关闭]

处理 GUI 应用程序中的复杂规则(C++ 或 C#)

Visual Studio C++ 到 C# 套接字程序

如何在 WPF C# GUI 中使用跨平台 C++

从 C# 迁移到 C++ [关闭]

在 C++ 和 C# 或 VB 之间共享数据(2 个运行程序)