我怎么能在Linux中获得当前进程的处理器ID?

我正在编写一个程序,需要知道它正在运行的逻辑处理器。

这个问题告诉我如何在汇编中做到这一点,而这个问题告诉我如何在汇编中使用这个代码,而不需要翻译成AT&T语法。

使用现有的Linux系统调用或库函数是否有更简单的方法来完成此操作,还是需要重新发明轮子?

Solutions Collecting From Web of "我怎么能在Linux中获得当前进程的处理器ID?"

有特定于Linux的getcpu调用 。

你可以看到sched_getcpu()

试试这个,我不确定你想要的是这个

 #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; }