Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何将参数传递给函数?_C_Kernel - Fatal编程技术网

C 如何将参数传递给函数?

C 如何将参数传递给函数?,c,kernel,C,Kernel,我想添加一个系统调用文档,我有一个链接功能。该函数必须具有2个参数。这些参数来自我称之为系统调用的c文档。下面我展示了c文档: #include <stdio.h> #include <linux/kernel.h> #include <sys/syscall.h> #include <unistd.h> int main(int argc,char*argv[]) { long int amma = syscall(335,argc,a

我想添加一个系统调用文档,我有一个链接功能。该函数必须具有2个参数。这些参数来自我称之为系统调用的c文档。下面我展示了c文档:

#include <stdio.h>
#include <linux/kernel.h>
#include <sys/syscall.h>
#include <unistd.h>

int main(int argc,char*argv[])
{
    long int amma = syscall(335,argc,argv);
    printf("System call functions returned %ld\n", amma);
    return 0;
}
此外,我在syscalls.h的行中添加了:

asmlinkage function(int,char*[]);
然后我正确地编译了代码,但当我开始在用户空间中运行代码时,我的系统调用被终止


我在这个网站上找到了一个链接,但我无法编译它。主题所有者使用了“SYSCALL\u DEFINE”,但我遇到了许多我无法理解的代码错误。

函数的签名本身不能失败。最可能的问题是如何使用函数的参数,但不显示函数的主体。我们无法帮助您修复我们看不到的代码。另请参阅。谢谢,我提供了详细信息。您说“我的系统调用已终止”。如果您怀疑内核代码有问题,请检查
dmesg
。它是否显示一些错误消息?如果是,请将其添加到问题帖子中。
asmlinkage function(int,char*[]);