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