我想在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的其他方法。除了这一个,它们都完美无瑕。 有谁知道我做错了什么?
答案 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 ();