gpt4 book ai didi

c - 传递参数给系统调用

转载 作者:IT王子 更新时间:2023-10-29 00:52:03 25 4
gpt4 key购买 nike

我做了一个基本的 helloWorld 系统调用示例,它没有参数,只是:

int main()
{
syscall(__NR_helloWorld);
return 0;
}

但现在我正试图弄清楚如何将实际参数传递给系统调用(即 long)。具体是什么格式,我试过了:

int main()
{
long input = 1;
long result = syscall(__NR_someSysCall, long input, long);
return 0;
}

它需要一个long 并返回一个long,但编译不正确;什么是正确的语法?

最佳答案

删除类型名称。这只是一个函数调用。示例:

#include <sys/syscall.h>
#include <unistd.h>

int main( int argc, char* argv[] ) {
char str[] = "boo\n";
syscall( __NR_write, STDOUT_FILENO, str, sizeof(str) - 1 );
return 0;
}

关于c - 传递参数给系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5771717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com