我需要用 C++ 编写跨平台的 GUI 应用程序,但由于大多数 C++ 的 GUI 库都有些乏味,而且我对 C#/.NET 非常熟悉,所以我发现使用 GTK 编写的 Vala 代码非常有趣并且比较容易与其他方式。那么我将如何将 VAlA 与 C++ 混合使用。我的意思是将 VALA 用于前端并使用 C++ 编写其余部分。
最佳答案
- 您可以从 C++ 调用 vala 生成的代码,但它是普通的 C,并且从 C++ 使用起来非常痛苦。
- Vala 只能调用 C 代码,因此您必须将所有 C++ 代码包装在
extern "C"
中。 - 通过 Gtkmm 从 C++ 使用 Gtk 并不比从 Vala 使用它更难,Qt 也不难。
- Qt 是唯一真正跨平台的选择。 Gtk 现在可以在 MacOS X 上原生运行,但仍然不够稳定。 Qt 也适用于大多数智能手机平台,而 Gtk 则不行。
- Vala 与 C# 不太一样,但也有一些怪癖。
一般来说,我建议改用 Qt。
关于c++ - 我如何将 C++ 与 VALA 混合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8817112/