当前位置: 代码迷 >> 其他开发语言 >> 很不得劲,用了一周时间在Linux就学会了一门新的编程语言vala叽哩哇啦,学一个新语言咋就这么容易捏
  详细解决方案

很不得劲,用了一周时间在Linux就学会了一门新的编程语言vala叽哩哇啦,学一个新语言咋就这么容易捏

热度:913   发布时间:2016-05-02 04:07:03.0
很不爽,用了一周时间在Linux就学会了一门新的编程语言vala叽哩哇啦,学一个新语言咋就这么容易捏
[size=36px]很不爽,用了一周时间在Linux就学会了一门新的编程语言vala叽哩哇啦,学一个新语言咋就这么容易捏[/size]

Vala 是使用类似 C# 的语法,应该比用 C 写轻松的多。Vala 编译的时候,会把 Vala 程序编译成 C 代码,然后再使用 C 编译器编译成本机代码,我最近觉得这种编译方式很好,因为现在而言,几乎任何一个系统,不论是 PC 的,还智能手机,抑或嵌入式设备,总会至少提供一个 C 的编译器,那么把程序先编译成 C 就等于在这些系统上都可以运行了。



代码如下:
   //别看错了哦,这可不是C#,这是一个新的语言叫哇啦
   int main (string[] args) {

    // Output the number of arguments
    stdout.printf ("%d command line argument(s):\n", args.length);

    // Enumerate all command line arguments
    foreach (string arg in args) {
        stdout.printf ("%s\n", arg);
    }

    // Exit code (0: success, 1: failure)
    return 0;
}

直接编译成纯C语言代码


代码如下:
/* main.c generated by valac 0.14.0, the Vala compiler
 * generated from main.vala, do not modify */


/*别看错了哦,这可不是C#,这是一个新的语言叫哇啦*/

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#define _g_free0(var) (var = (g_free (var), NULL))

gint _vala_main (gchar** args, int args_length1);

gint _vala_main (gchar** args, int args_length1) {
gint result = 0;
FILE* _tmp0_;
gchar** _tmp1_;
gint _tmp1__length1;
gchar** _tmp2_;
gint _tmp2__length1;
#line 5 "/media/disk i_/working/vala/test1/test1/main.vala"
_tmp0_ = stdout;
#line 5 "/media/disk i_/working/vala/test1/test1/main.vala"
_tmp1_ = args;
#line 5 "/media/disk i_/working/vala/test1/test1/main.vala"
_tmp1__length1 = args_length1;
#line 5 "/media/disk i_/working/vala/test1/test1/main.vala"
fprintf (_tmp0_, "%d command line argument(s):\n", _tmp1__length1);