2009-07-16 4 views
1

システムにcpusやコアなどの処理装置のnrを取得する方法はありますか?私はpthreadsを使ってappを書くつもりです。もしposixコールがあれば素晴らしいでしょう。私は/ proc/cpuinfoから読むことについて知っていますが、それは移植性がありません。もうひとつの移植可能な方法がありますか?処理単位(#cpu、コア)のnrをcで得るポータブルな方法は?

答えて

4

POSIX(スレッド)委員会は、このような操作をサポートすると考えていましたが、その後はrefused toです。人々はさまざまなシステムでそれを行う方法についてcollected informationを持っています。

+1

Butenhofが投稿したニュースグループの最後の2つの段落は、特に私が言いたいことです。私は、実際に「別のスレッドを作成することで私のアプリが恩恵を受けるだろう」と答える唯一の人物がシステム管理者だということを付け加えていますが、これは「スレッド数」はユーザが調整可能でなければならないことを意味します。 – caf

+0

フランス語のエラーメッセージを正しく理解していれば、これらのリンクは今私にとって壊れているようです。 – leecbaker

1

私が知っているPOSIXの方法はありません。フォールバックしてプラットフォームごとのチェックを行うか、すでにチェックしているライブラリを見つける必要があります。

This pageには、多数のUNIX実装用のダウンロード可能なコードがあります。

0

私にはわからない。たとえば、ウィンドウの下でGetSystemInfoから取得します。おそらく、この情報をx86 CPUのCPUIDアセンブラ呼び出しを使用して取得できますが、x86以外のプラットフォームでは使用できません。

関連する問題