网站首页  |  业界新闻  |  技术文章  |  视频教程  |  下载频道  |  程序源码  |  个人空间  |  编程论坛
 
学习型 ASP/PHP/ASP.NET 主机 30元/年 全能 ASP/PHP/ASP.NET 主机,支持月付 专业 MSSQL 数据库空间,支持月付 专业 MySQL 数据库空间,支持月付
发新话题
打印

这样修改函数对不对?

这样修改函数对不对?

这是在linux下系统调用的时候用

原:_syscall1(int,mycall,int,ret)
修改:int mycall(int ret)
{return syscall(__NR_mycall,ret);
}

那么  _syscall2(int,mycopy,const char *,s_file,const char *,t_file)
能不能修改成:
int mycopy(const char * s_file,const char * t_file)
{return(__NR_mycopy,* s_file,* t_file);
}

附:mycopy在sys.c中的定义  其中  操作正确返回0 否则返回其它值
asmlinkage int sys_mycopy(const char* s_file, const char* t_file){




}  

我的问题:1、如上面  能否修改
          2、为什么我使用_syscall1(int,mycall,int,ret)不能调用  会报错  而
int mycall(int ret)
{return syscall(__NR_mycall,ret);
}可以,这是什么原因?

TOP

呵,这是Linux内核下的函数吗?
Linux下C的调用什么的,有很多可能与TC什么的有所不同.
十步杀一人,千里不留行.
淡泊以明志,宁静而致远.

TOP

回复 2# 的帖子

恩,我就是想添加一个系统调用函数。
但是:_syscall1(int,mycall,int,ret)这种形式老是报错
只能修改,但是修改后无法完成任务

TOP

发新话题