无需组装即可检测CPUfunction

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

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

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

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

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

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


上次我找到这样一个图书馆,我发现了十字路口 。 这是C ++。

还有geekinfo 。

但我不知道只有cpuid的跨平台库。

在linux下查看/ proc / cpuinfo

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

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

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