我已經可以在所有這三個平臺上正確檢測到邏輯處理器的數量。C/C++/Assembly以編程方式檢測Windows,Mac和Linux上的超線程是否處於活動狀態
爲了能夠正確檢測物理處理器/內核的數量,我必須檢測是否支持超線程並且處於活動狀態(如果您願意,可以啓用),如果是這樣,則將邏輯處理器的數量除以2以確定物理處理器的數量。
Perphaps我應該提供一個例子:
四核Intel的CPU與啓用超線程有4個物理核心,但8個邏輯處理器(超線程創建4多個邏輯處理器)。所以我目前的功能將檢測8而不是所需的4.因此,我的問題是,如果有一種方法來檢測是否支持超線程和啓用?
猜測我不得不在你的程序中使用boost庫中的grep.cpp來使用它。我的問題是針對主題和標籤中提到的c/C++/assemler特定的問題 – HTASSCPP 2010-05-26 16:24:46