私は、実行中の論理プロセッサを知る必要があるプログラムを書いています。LinuxのCで現在のプロセスのプロセッサIDを取得するにはどうすればよいですか?
This questionはアセンブリでこれを行う方法を教えてくれますが、this questionはこのコードをAT & T構文に翻訳せずにアセンブリで使用する方法を教えてくれます。
既存のLinuxシステムコールやライブラリ関数を使用してこれを行う簡単な方法はありますか?それとも、ホイールを再開発する必要がありますか?
私は、実行中の論理プロセッサを知る必要があるプログラムを書いています。LinuxのCで現在のプロセスのプロセッサIDを取得するにはどうすればよいですか?
This questionはアセンブリでこれを行う方法を教えてくれますが、this questionはこのコードをAT & T構文に翻訳せずにアセンブリで使用する方法を教えてくれます。
既存のLinuxシステムコールやライブラリ関数を使用してこれを行う簡単な方法はありますか?それとも、ホイールを再開発する必要がありますか?
Linux固有のgetcpu
callがあります。
私は何をしたいことは、この
#include<stdio.h>
#include<sys/utsname.h>
int main()
{
char hostname[1024];
struct utsname userinfo;
if(uname(&userinfo)>=0)
{
printf("\n***** System Details ******\n");
printf("System Name : %s\n",userinfo.sysname);
printf("System Node : %s\n",userinfo.nodename);
printf("System Release : %s\n",userinfo.release);
printf("System Version : %s\n",userinfo.version);
printf("System Machine : %s\n",userinfo.machine);
}
else
printf("\nSystem details fetch failed..\n");
if(gethostname(&hostname,1024)==0)
{
printf("Hostname : %s\n",hostname);
}
else
printf("\nHostname details fetch failed..\n");
return 0;
}
それは私にマシンのIPを与えるでしょう。私は私のプロセスが実行されているCPUのコアのIDを探しています。 –
CPU IDまたは他の種類のハードウェアアドレスを取得する方法はありますか?特にiPhone用ですか? – karim
であるあなたはあなたがその情報を得ることができsched_getcpu()
を見ることができることを確認していないが、私はその情報をとして良いでしょうどのくらいわからないんだけど、これを試してみてくださいそのプロセスをいつでも再スケジュールして別のコアで実行することができます。 –
あなたが参照する質問は、あなたが望むことをしません。いくつのCPUが存在しているのか、どのCPUが動作しているのかはわかりません。 – ugoren
@ugoren:そうです...間違っています –