2
是否可以確定我的Vala應用程序在哪個平臺(GNU/Linux,Win32,OS X)上運行?是否可以使用GLib進行OS檢測?
是否可以確定我的Vala應用程序在哪個平臺(GNU/Linux,Win32,OS X)上運行?是否可以使用GLib進行OS檢測?
由於Vala是一種編譯語言(相對於中級或解釋),您可以使用您最喜愛的構建工具和use conditional compilation來確定平臺。
喜歡的東西:
#if WINDOWS
message ("Running on Windows");
#elif OSX
message ("Running on OS X");
#elif LINUX
message ("Running on GNU/Linux");
#elif POSIX
message ("Running on other POSIX system");
#else
message ("Running on unknown OS");
#endif
構建工具將必須通過-D LINUX
等編譯器。
我會小心,只做這樣的事情作爲最後的手段,因爲它可能適得其反。通常最好使用已經處理差異的跨平臺庫。請參閱how this is done in C++。