Vala(类 C# 语言)编译成 C?

Posted

技术标签:

【中文标题】Vala(类 C# 语言)编译成 C?【英文标题】:Vala (C#-like language) compiles to C? 【发布时间】:2010-10-13 18:09:32 【问题描述】:

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

【问题讨论】:

VALA 一如既往的出色语言。许多语言是由没有人真正保持 C 标准创建的。唯一的语言包装器VALA最终正在推广C。我希望VALA能出名,这样我们就可以在VALA拥有一个庞大的社区。​​span> 【参考方案1】:

是的,Vala 是直接编译成 C 的。来自 Vala 主页:

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

您可以阅读更多关于它的信息here(还可以获得教程、邮件列表等)。这是一个非常有趣的项目。

【讨论】:

【参考方案2】:

来自Wikipedia:

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

以上是关于Vala(类 C# 语言)编译成 C?的主要内容,如果未能解决你的问题,请参考以下文章

c语言和c++和c#的区别

如何在 Vala 中导入其他文件?

C#能不能把CS-SCRIPT的脚本编译成DLL?如果可以,是调用哪个类?

C# lesson1

解释型语言与编译型语言的区别

Java基本概念