2011-09-22 70 views
3

我需要使用C/C++語言獲取程序中的處理器編號。我的代碼 類似如下:如何獲得linux上的處理器編號

#include <unistd.h> 
int main() 
{ 
    int processorNum = sysconf(_SC_NPROCESSORS_CONF); 
    return 0; 
} 

當我編譯它,它有兩個誤區:

error: '_SC_NPROCESSORS_CONF' was not declared in this scope 
error: 'sysconf' was not declared in this scope 

所以,我應該怎麼辦。

PS:我的編譯器的版本是gcc版本4.3.2(Debian的4.3.2-1.1)。應我鏈接庫文件

PS:大家好,對不起,我犯了一些錯誤。我忘了頭文件。

+0

很奇怪,不符合我的gcc發生。你的編譯器調用是什麼? – thiton

+0

我的系統上沒有錯誤 - 當被告知這樣做時,printf()的處理器數量是正確的。 – Kimvais

+0

你在編譯什麼操作系統? –

回答

3

1,最可靠的方法是讀取/proc/cpuinfo文件。像grep processor proc/cpuinfo

2,使用命令lscpu