例如unistd_64.h中有一些宏
...
#define __NR_semget 64
#define __NR_semop 65
#define __NR_semctl 66
#define __NR_shmdt 67
#define __NR_msgget 68
#define __NR_msgsnd 69
...
当我输入数字时
64
,它将输出
__ NR_semget或semget
c / cpp源代码好多了,谢谢!答案 0 :(得分:0)
您可以通过定义表示这些定义名称的字符串数组来实现此目的。不幸的是,没有捷径......
const char *name[] = {
...,
/* this is now the 64th string... */
"__NR_semget",
"__NR_semop",
...
};
printf("name: %s\n", name[64]);
答案 1 :(得分:0)
Syscall名称和数字映射很大程度上取决于您使用的拱门。
ausyscall - 提供给定系统调用号的映射。也许你可以这样做:
system("ausyscall 64 x86_64")
这应返回 semget