我正在尝试创建一个返回IOS设备处理器频率的函数。我使用的代码总是返回零。我哪里错了?
-(void) printProcessorInfo
{
size_t length;
int mib[6];
int result;
printf("Processor Info\n");
printf("--------------\n");
mib[0] = CTL_HW;
mib[1] = HW_CPU_FREQ;
length = sizeof(result);
if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
{
perror("getting cpu frequency");
}
printf("CPU Frequency = %d hz\n", result);
mib[0] = CTL_HW;
mib[1] = HW_BUS_FREQ;
length = sizeof(result);
if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
{
perror("getting bus frequency");
}
printf("Bus Frequency = %d hz\n", result);
printf("\n");
}
由于
答案 0 :(得分:9)
代码没问题 - iOS不会为某些(或可能是所有)设备返回CPU频率。例如,我认为iPod第四代设备中Apple A4的时钟频率仍然未知。
您可以做的最好的事情就是估算时钟频率。