syscall.c
来自「操作系统辅导与提高光盘源码」· C语言 代码 · 共 46 行
C
46 行
#include <linux/unistd.h>#include <stdlib.h>#include <sys/types.h>#include <errno.h>_syscall2(int,getmm,pid_t,pid,unsigned long*,arr)void Usage();int main(int argc,char *argv[]){ int ret=0; pid_t pid; static unsigned long array[15]; if (argc!=2) { Usage(); goto out; } pid=(pid_t)atoi(argv[1]); ret=getmm(pid,array); if (ret==-1) { printf("syscall:Invalid pid or syscall error\n"); goto out; } printf("pid %d memory map:\n",pid); printf("start_code:\t%x\n",array[0]); printf("end_code:\t%x\n",array[1]); printf("start_data:\t%x\n",array[2]); printf("end_data:\t%x\n",array[3]); printf("start_brk:\t%x\n",array[4]); printf("brk:\t\t%x\n",array[5]); printf("start_stack:\t%x\n",array[6]); printf("arg_start:\t%x\n",array[7]); printf("arg_end:\t%x\n",array[8]); printf("env_start:\t%x\n",array[9]); printf("env_end:\t%x\n",array[10]);out: return ret;}void Usage(){ printf("Usage: ./syscall [pid]\n");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?