我想编写一个显示当前CPU上所有CPU选项的程序。 像这样的个人电话工作:
if (__builtin_cpu_is("intel"))
相反,我更愿意声明一个数组:
const char* cpuType[] = {
"intel", "atom", "core2", "corei7", "nehalem",
"westmere", "sandybridge", "amd", "amdfam10h", "barcelona",
"shanghai", "istanbul", "btver1", "amdfam15h",
"bdver1", "bdver2", "bdver3", "bdver4", "btver2"
}
并在循环中检查相同的事情:
for (int i = 0; i < sizeof(cputype)/sizeof(char*); i++)
if (__builtin_cpu_is(cpuType[i])
gcc拒绝,说它必须是一个常量字符串。
除了一遍又一遍地编写代码之外,还有什么方法可以完成这项工作吗?