|
发表于 2005-4-25 10:36:00
|
显示全部楼层
可以很明确的说:
返回-1,并不是调用失败,这个你可以用我下面给的程序试一下!
如果系统调用添加失败返回的应该是“-38”,“-1”表示操作没有许可!
系统调用添加失败!应该和你的内核版本号没有关系!我内核是2.4.20-8应该不会和你的有太大的差别吧!
测试程序:
#include <stdio.h>
#include <unistd.h>
int
main()
{
unsigned long sys_num = 512;//512号系统调用,不存在!用来模拟你的问题
unsigned long value = 0;
__asm__("int $0x80":"=a"(value):"0"((long)(sys_num)));
printf("The value is %ld.\n",value);
return value;
}
////////////////////////
以上程序编译方法为:令文件名是:test.c
gcc -o test test.c
编译后得到
test
你执行看看是不是输出了
The value is -38 |
|