gpt4 book ai didi

c - 编写新系统调用时可用的函数

转载 作者:太空狗 更新时间:2023-10-29 11:09:57 26 4
gpt4 key购买 nike

对于一项大学作业,我们必须向 Linux 内核添加一个系统调用。我的“Hello, World”没问题。在添加更复杂的调用方面,我知道(或至少认为)我不能使用像 malloc 这样的 C 函数,但我想知道我是否可以使用 syscall() 来使用其他系统调用?

最佳答案

内核对几乎所有内容都有自己的特定调用。您无权访问系统调用或 <sys/xxxx.h>头文件。

对于您的例子,是的,您不能使用 malloc()但你可以使用 kmalloc()

在旧版本的内核 (2.4) 中,您可以使用 syscall()通过:syscallN()宏。我很确定它已被删除。

一般syscalls()从内核不是一个好主意。实际上,系统调用只是用户空间进入内核做某事的一种方式,所以如果您已经在内核中,应该有更好的方法来做您想做的事情。

关于c - 编写新系统调用时可用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124517/

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