使用GLib可以进行OS检测吗?

时间:2015-04-14 18:09:02

标签: cross-platform glib vala os-detection

是否有可能确定我的Vala应用运行在哪个平台(GNU / Linux,Win32,OS X)上?

1 个答案:

答案 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++