Vala:cpus的数量

时间:2013-10-02 14:34:59

标签: glib vala

我想在vala中获取我的机器的cpus数量。
根据{{​​3}}

  

public uint get_num_processors()

应该归还给我。

但是当我尝试编译以下代码时:

public class Main {
    static int main(string[] args) {
    uint num_cpus = GLib.get_num_processors();
        return 0;   
    }
}

使用:

valac --target-glib 2.38 --pkg gtk+-3.0 --pkg gee-1.0 $(SRC)

我看到以下错误:

  

Application.vala:28.4-28.26:error:'get_num_processors'这个名字   不存在于'GLib'的背景下

我已经测试了一些来自GLib的其他方法。除了这一个,它们都完美无瑕。 有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:2)

这是在GLib 2.36中引入的(见GLib Threads)。你安装了那个版本吗?

答案 1 :(得分:2)

最近函数只有added到VAPI,我相信你需要版本0.22.0的Vala(或者一个不稳定的0.21.x版本)。

要解决此问题,您可以在代码中创建本地绑定:

[CCode (cname = "g_get_num_processors")]
private extern static uint get_num_processors ();