2010-11-19 64 views

回答

1

免費使用source。 CPU時鐘速度更棘手。 dmesg | grep CPU | grep Hz將在一個shell中完成它。你可能想嘗試解析你的系統日誌。

1

看看popen函數。它創建一個管道,分配一個給定的shell命令,並返回一個可讀取的文件描述符。

man popen 
3

使用BSD sysctl(3)獲取實時CPU頻率和posix sysconf(3)是免費的。

#include <stdio.h> 
#include <sys/param.h> 
#include <sys/sysctl.h> 
#include <unistd.h> 

main (argc, argv) 
     char **argv; 
{ 
     size_t sz; 
     auto psize, cpuspeed, getMhz[] = {CTL_HW, HW_CPUSPEED}; 
     sz = sizeof(cpuspeed); 
     sysctl(getMhz, 2, &cpuspeed, &sz, NULL, 0); 
     printf("CPU: %d MHz Free: %ld MB\n", cpuspeed, (sysconf(_SC_AVPHYS_PAGES)*sysconf(_SC_PAGESIZE))>>20 
); 
     return 0; 
}