3

是否可以确定我的 Vala 应用程序在哪个平台(GNU/Linux、Win32、OS X)上运行?

4

1 回答 1

5

由于 Vala 是一种编译语言(相对于中间语言或解释语言),您可以使用您最喜欢的构建工具来确定平台并使用条件编译

就像是:

#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, etc 传递给编译器。

我会很小心,只有在万不得已的情况下才会这样做,因为它会适得其反。通常最好使用已经为您处理差异的跨平台库。

顺便说一句:另请参阅如何在 C++ 中完成此操作

于 2015-04-14T23:18:34.133 回答