是否有可能确定我的Vala应用运行在哪个平台(GNU / Linux,Win32,OS X)上?
答案 0 :(得分:3)
由于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++。