必威电竞|足球世界杯竞猜平台

vala
來源:互聯網

Vala是一種新的編程語言,其目標是為GNOME開發者提供現代化的編程語言功能,同時沒有額外的運行時要求,并且相對于c語言編寫的應用程序和庫,無需使用不同的ABI。Vala是基于GNOME的GObject系統,提供了那種你期望的類功能。與Scala一樣,在語言級別上,它具有與Java Beans的get*()和set*()等同的屬性,但是,對于屬性更改通知和監聽器(listener),它也能夠提供了語言級別上的支持。它不具備很強的XML處理能力,只是一個迷你型的解析器,不過看起來它的確具有很好的Unicode功能(字符串為UTF-8,string.getch()可返回16位的unichar字符。)在功能級別上,Vala與Java最大的不同之處應該是對象回收(de-allocation)的引用計數系統(reference-counting),相對于Java的GC,這一系統能夠提供更多確定的實時行為,不過也為某些編程錯誤打開了一扇窗戶。在這個時代,Vala的另一個古怪之處在于,對于陣列訪問不進行邊界檢查,所以它比Java對規則的要求更為嚴格(不過可以推測,比c語言要寬松很多)。

安裝

Ubuntu 12.04 LTS 下:

sudo add-apt-repository ppa:V.A.L.A.team/ppa

sudo APT update

sudo apt-fast install valac valide

編譯

Vala使用類似C?的語法,編譯過程是先轉換成C源碼,然后使用標準的C編譯器,生成二進制執行文件,這樣編譯出的文件,執行速度飛快。同時,這樣的編譯過程,對系統的編譯環境要求很低,只要你的系統自帶了C編譯環境(這對于幾乎任何系統都不成問題)。

小程序

public class Main{ public static int main (string[] args) { #if VALA_0_12 print("Hello World~~0.12\n"); #else print("Hello World~~0.10\n"); #endif return 0; }}

vala@ubuntu:~/code$ cat ttt.vala

using Gtk;

int main (string[] args) {

Gtk.init (ref args);

var window = new Window(Gtk.WindowType.TOPLEVEL);

window.title = "First GTK+ Program";

window.set_default_size (300, 50);

window.position = WindowPosition.CENTER;

window.destroy.connect (Gtk.main_quit);

var button = new Button.with_label ("Click me!");

button.clicked.connect (() => {

button.label = "Thank you";

window.add (button);

window.show_all ();

Gtk.main ();

return 0;

}

編譯命令: valac --pkg gtk+-2.0 ttt.vala

小問題解決

1、選擇版本sudo update-alternatives --config valac

2、解決0.12版本GEE不能編譯的問題

sudo cp /usr/share/vala-0.10/vapi/gee-1.0.vapi /usr/share/vala-0.12/vapi/gee-1.0.vapi

3、解決編譯WebKits找不到H文件的問題

基本上都是少了DEV庫,安裝:

sudo APT install libwebkitgtk-dev

在線幫助

標準的文檔不多,但基本在 valadoc dot org 均可很方便的搜索到。遇到編程問題,可以加入官方的郵件列表提問,或者加入 freenode dot net/#vala 房間直接提問。

參考資料 >

生活家百科家居網