3

我一直在寻找确定 CPU 及其功能的方法(例如 SEE、SSE2 等)。

然而,我发现的所有方法都涉及使用 cpuid 指令的汇编代码。鉴于编译器甚至目标之间在 c/c++ 中进行汇编的不同方式(在 VC 下没有用于 64 位目标的内联汇编),我宁愿避免这种情况。

是否有一些简单的库或操作系统函数(适用于 windows 和 linux)来获取这些信息?

目前我只对使用 x86 和 x86-64 CPU 的平台感兴趣,而且我绝对需要至少支持 AMD 和 Intel。

4

3 回答 3

4

编辑:起初,我在谷歌上搜索“libcpuid”以记住与同行程序员的对话,谷歌搜索将我指向这个看起来相当过时的sourceforge 页面。然后我注意到这是“libcpu”的项目页面。

实际上,确实有一个libcpuid可能适合您的需求。


上次找这样的库时,发现了crisscross。虽然它是 C++。

还有geekinfo

但我不知道一个只做 cpuid 的跨平台库。

于 2009-12-13T15:36:56.153 回答
1

linux下查看/proc/cpuinfo

于 2010-02-05T11:24:05.837 回答
0

这如此依赖于硬件——这是操作系统通常会屏蔽你的一个方面——要求它是跨平台的有点困难。

拥有它会很有用,但我担心您可能只需要枚举您想要支持的 CPU 和功能的交叉产品,乘以操作系统的数量(这里是两个)并为所有人编写测试。我不认为它已经完成 - 如果我忽略了某些东西,肯定有人会纠正我。

那将是一个有用的图书馆,祝你好运!

于 2009-12-13T15:34:45.707 回答