c++ - 我如何将 C++ 与 VALA 混合使用

标签 c++ vala

我需要用 C++ 编写跨平台的 GUI 应用程序,但由于大多数 C++ 的 GUI 库都有些乏味,而且我对 C#/.NET 非常熟悉,所以我发现使用 GTK 编写的 Vala 代码非常有趣并且比较容易与其他方式。那么我将如何将 VAlA 与 C++ 混合使用。我的意思是将 VALA 用于前端并使用 C++ 编写其余部分。

最佳答案

  1. 您可以从 C++ 调用 vala 生成的代码,但它是普通的 C,并且从 C++ 使用起来非常痛苦。
  2. Vala 只能调用 C 代码,因此您必须将所有 C++ 代码包装在 extern "C" 中。
  3. 通过 Gtkmm 从 C++ 使用 Gtk 并不比从 Vala 使用它更难,Qt 也不难。
  4. Qt 是唯一真正跨平台的选择。 Gtk 现在可以在 MacOS X 上原生运行,但仍然不够稳定。 Qt 也适用于大多数智能手机平台,而 Gtk 则不行。
  5. Vala 与 C# 不太一样,但也有一些怪癖。

一般来说,我建议改用 Qt。

关于c++ - 我如何将 C++ 与 VALA 混合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8817112/

相关文章:

function - Vala中的 "_"函数有什么作用?

c++ - E.CalView 在 Vala 中的使用

c++ - 二进制运算符的类型为char和const char [2]的无效操作数

c++ - Visual C++ 如何在 MySql 中查找列的名称

c++ - 未加载 QMYSQL 驱动程序,已尝试所有提示

c++ - 如何在qml中动态地向模型添加数据?

glib - Vala:cpu数量

ssl - 如何在 libsoup 中使用 HTTPS 接受所有证书(甚至无效)?

signals - 如何在Vala中编写button_press_event信号处理程序?

c++ - 在 C++ 中的自定义字符串类中实现插入?