2011-11-16 32 views
3

我试图创建一个函数,返回IOS设备的处理器的频率。我使用的代码总是返回零。我哪里错了?iphone让CPU频率不运行

-(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"); 
} 

感谢

回答

9

的代码是好的 - iOS不返回CPU频率对于一些(或可能全部)设备。例如,我认为苹果A4在iPod第四代设备上的时钟频率仍然未知。

你可以做的最好的是估计时钟频率。