C# WinForms或WPF或Qt for Windows GUI,带C/C++;作为后端

C# WinForms或WPF或Qt for Windows GUI,带C/C++;作为后端,c#,c++,wpf,winforms,qt,C#,C++,Wpf,Winforms,Qt,我打算在windows上开发一个应用程序。我以前从未这样做过;-) 我需要做一些繁重的音频计算,必须用C/C++编写。这部分将是一个房间校正算法,目前每个通道在Matlab中运行大约需要10秒。它必须用C/C++编写,因为它以后可能被移植到DSP,而DSP必须用C/C++编程 此外,我需要一个GUI来查看计算、可视化结果和修改计算参数。这个图形用户界面的难点在于绘制大量的光谱、光谱图、音频波形等 现在,我听说WPF在Windows GUI中非常流行,但它似乎仅限于C。有没有一种简单的方法可以将我

我打算在windows上开发一个应用程序。我以前从未这样做过;-)

我需要做一些繁重的音频计算,必须用C/C++编写。这部分将是一个房间校正算法,目前每个通道在Matlab中运行大约需要10秒。它必须用C/C++编写,因为它以后可能被移植到DSP,而DSP必须用C/C++编程

此外,我需要一个GUI来查看计算、可视化结果和修改计算参数。这个图形用户界面的难点在于绘制大量的光谱、光谱图、音频波形等

现在,我听说WPF在Windows GUI中非常流行,但它似乎仅限于C。有没有一种简单的方法可以将我的C/C++代码与一些C#GUI代码集成在一起?或者我应该拿WiFrm,用C++写整个东西?或者Qt也可以工作,并“免费”提供一些跨平台功能

我有一些C/C++、Matlab和VST开发的经验,但我从未编写过真正的应用程序,老实说,我甚至不知道从哪里开始


提前谢谢你

WPF会将您绑定到Windows,但不会绑定到任何特定的语言。您可以在C语言、VB.NET、托管C++或任何其他.NET语言中编写WPF应用程序。 Winforms与Windows有着类似的联系,但您可以以这样的方式编写应用程序,使其也可以在Windows上运行,因此是跨平台的。然而,当涉及到复杂的可视化时,Winforms的能力要差得多

NET和本机应用程序之间的互操作非常强大,但它肯定会给您带来至少一点痛苦。另一方面,在本机环境中实现接口可能会让您更加痛苦


如果您乐于将GUI绑定到Windows和.NET,那么WPF是高度可视化应用程序的最佳选择。如果你不想依赖.NET或Windows,Qt似乎是你唯一的选择。

我没有Qt方面的经验,但我可以说WPF很好,但对于CPU密集型应用程序来说并不太好,而且你将无法轻松地将c/c++与WPF直接集成

这将是一个巨大的学习过程,您必须编写COM接口来与C#/WPF和您的本机代码进行通信。或者Visual C++ ++ .net CLI,这是相当困难的,而且教程少。p> 但问题是,你们不会得到任何好的支持,因为很多人只使用C#,数据库应用程序只与WPF/WinForms一起使用。最好的方法是,您可以编写COM DLL与WPF集成,但这将很困难

<> P.>在MFC中,现在有各种各样的工具,还有很多其他的商业库也可以在C++ MFC中编写好的UI,在你熟悉C++的时候,集成会变得更容易。 或者Qt,如果你已经知道的话

图书馆:


可能有很多,您可以搜索“MFC UI元素”、库等。我早在2003-4年就使用了Prof UI。它们很好。

我认为使用WPF或WinForms的最大缺点是您必须使用两种编程语言进行编程,这是一个巨大的后勤开销

<>我以前见过这种说法:用C或C++做低级,其他的用于高级。在这种情况下,Qt/C++是与WPF/WiFras一样高的,它有利于UI与其他C++代码的集成。 有关光谱图和其他图表,请查看


附言:WPF在Windows上并非风靡一时,事实上,市场相当分散,WPF是使用较少的GUI工具包之一。这里的代码大部分使用MFC、WTL、Delphi、Win32等。

这是什么库?对于C++ QT是最好的GUI工具包。我不会说它的能力远不如它。使用OwnerDrawn,您可以创建一些非常奇妙的GUI。。我们这些上了年纪的学生用WF/API度过了很长的一段时间。我已经制作了一些漂亮的图形用户界面,可以与“普通”WPF编码器的表现相媲美。。另外,我真的很讨厌HT/X-ML,在它的所有化身中,它在真正的编程中没有位置,依我看。