2011-11-16 2 views
3

IOS 장치의 프로세서 주파수를 반환하는 함수를 만들려고합니다. 내가 사용하고있는 코드는 항상 0을 반환합니다. 내가 어디로 잘못 가고 있니?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

코드는 OK입니다 - 아이폰 OS 일부 (또는 아마도 모든) 장치에 대한 CPU의 주파수를 반환하지 않습니다. 예를 들어, iPod 4 세대 장치에서 Apple A4의 클럭 속도는 아직 알려지지 않았습니다.

가장 좋은 방법은 클럭 속도를 추정하는 것입니다.

관련 문제