9

使用可能なコアと同じ数のスレッドを実行する必要がある Windows 上の C でプログラムを作成しています。しかし、コア数を取得する方法がわかりません。何か案は?

4

5 に答える 5

8

GetSystemInfoWinAPI 関数を呼び出すことができます。SYSTEM_INFOこれは、プロセッサの数 (複数のコア CPU を持つシステム上のコアの数) を持つ構造体を返します。

于 2010-04-11T23:59:40.143 に答える
5

NUMBER_OF_PROCESSORS 環境変数を読み取ることができます。

于 2010-04-12T00:00:28.510 に答える
2

Windows の起動時に「cmd」と入力し、「cmd.exe」を開きます。次のコマンドを入力します。

WMIC CPU Get /Format:List

「NumberOfCores」や「NumberOfLogicalProcessors」などのエントリが見つかります。通常、論理プロセッサはスレッド化によって実現されます。したがって、関係は通常次のようになります。

NumberOfLogicalProcessors = NumberOfCores * コアあたりのスレッド数。

各コアは処理ユニットを提供するため、スレッド化により、論理処理ユニットは実空間で実現されます。

詳細はこちら

于 2017-01-19T06:09:44.957 に答える
1

質問は .NET を扱っており、あなたの質問は C を扱っていますが、基本的な回答が役立つはずです。

プロセッサー数の検出

于 2010-04-12T00:04:33.920 に答える