无需组装即可检测CPU功能

时间:2009-12-13 15:29:24

标签: c cross-platform cpuid

我一直在研究确定CPU及其功能的方法(例如SEE,SSE2等)。

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

是否有一些简单的库或OS功能(用于Windows和Linux)来获取此信息?

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

3 个答案:

答案 0 :(得分:4)

编辑:起初,我搜索“libcpuid”,记住与同行程序员的对话,谷歌搜索指向我sourceforge page看起来已经过时了。然后我注意到它是“libcpu”的项目页面。

实际上,确实有libcpuid可能符合您的需求。


上次我找到这样的图书馆时,我找到了crisscross。这是C ++。

还有geekinfo

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

答案 1 :(得分:1)

在linux下查看/ proc / cpuinfo

答案 2 :(得分:0)

这与硬件相关 - 这是操作系统通常会屏蔽你的一个方面 - 要求它是跨平台的,这有点难。

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

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