syscall 是glib c提供的一个函数,这一直接调用系统调用
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
pid_t tid;
tid = syscall(SYS_gettid);
printf("tid : %d\n",tid);
}
而syscall 可以调用的函数都在syscall.h 中有定义,其路径在include/linux/syscalls.h
例如:
asmlinkage long sys_getuid(void);
asmlinkage long sys_geteuid(void);
通过syscall 调用系统调用
最新推荐文章于 2024-04-24 10:40:37 发布