【问题标题】:Is OS detection possible with GLib?使用 GLib 可以检测操作系统吗?
【发布时间】:2015-06-20 11:37:05
【问题描述】:

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

【问题讨论】:

    标签: cross-platform glib vala os-detection


    【解决方案1】:

    由于 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++

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 2011-06-10
      • 2012-02-05
      • 2014-06-25
      • 2014-04-14
      • 1970-01-01
      相关资源
      最近更新 更多