标题:这样修改函数对不对?
只看楼主
昨日之风
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-4-2
结帖率:100%
 问题点数:0 回复次数:2 
这样修改函数对不对?
这是在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);
}可以,这是什么原因?
搜索更多相关主题的帖子: linux 其它 return 
2008-04-23 20:29
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
得分:0 
呵,这是Linux内核下的函数吗?
Linux下C的调用什么的,有很多可能与TC什么的有所不同.

[url=http://www./]/sign/free.gif" target="_blank">http://ip./sign/free.gif[/url]
2008-04-23 20:53
昨日之风
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-4-2
得分:0 
回复 2# 的帖子
恩,我就是想添加一个系统调用函数。
但是:_syscall1(int,mycall,int,ret)这种形式老是报错
只能修改,但是修改后无法完成任务
2008-04-24 18:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-210719-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.843552 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved