【发布时间】:2015-06-20 11:37:05
【问题描述】:
是否可以确定我的 Vala 应用在哪个平台(GNU/Linux、Win32、OS X)上运行?
【问题讨论】:
标签: cross-platform glib vala os-detection
是否可以确定我的 Vala 应用在哪个平台(GNU/Linux、Win32、OS X)上运行?
【问题讨论】:
标签: cross-platform glib vala os-detection
由于 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++。
【讨论】: