23

我是一名 C# 开发人员,偶然发现了一种新的 linux 编程语言,称为 vala。它的语法几乎与 C# 完全相同,非常棒。我从来都不是 Mono 的忠实粉丝。这允许程序员以 C# 风格的语言编写 GTK+ 应用程序。我的问题是:vala 会编译成 C 吗?

4

3 回答 3

31

是的,Vala 直接编译为 C。从 Vala 主页:

valac 从 Vala 源文件生成 C 源文件和头文件,就像您直接用 C 编写库或应用程序一样。在 C 应用程序中使用 Vala 库与使用任何其他基于 GObject 的库看起来没有什么不同。不会有 vala 运行时库,应用程序可以使用它们的 tarball 分发生成的 C 代码,因此用户没有额外的运行或构建时依赖项。

您可以在此处阅读更多相关信息(还可以获取教程、邮件列表等)。这是一个相当有趣的项目。

于 2009-03-17T01:33:42.087 回答
14

来自维基百科

Vala 不是直接编译成汇编程序或中间语言,而是编译成 C,然后用平台的标准 C 编译器编译。

于 2009-03-17T01:33:34.317 回答
11

正如 John 和 Chris 所指出的,Vala 确实被编译为 C。

事实上,您可以通过运行带有-C(or --ccode) 标志的 Vala 编译器来查看生成的 C 代码。

于 2009-03-17T08:43:02.100 回答