| #include |
| extern int errno; |
| _syscall1(int,print_info,int,testflag) |
| main() |
| { |
| int i; |
| i= print_info(0); |
| if(i==0) |
| printf("i=%d , syscall success!n",i); |
| } |
| 如果要在用户程序中使用系统调用函数,那么在主函数main前必须申明调用_syscall,其中1 表示该系统调用只有一个入口参数,第一个int 表示系统调用的返回值为整型,print_info为系统调用函数名,第二个int 表示入口参数的类型为整型,testflag为入口参数名。 |
| 编译测试程序: |
| # gcc -o test test.c |
| 执行测试程序: |
| # ./test |
| Its my syscall function! |
| i=0, syscall success! |
| ok!!!增加系统调用函数成功! |
| 以上步骤在pentium Ⅲ/64M/20G、Red Hat Linux 6.0(2.2.5-15)机上测试通过。 |
