Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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/8/svg/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
Linux 是否在内核中使用sprintf之类的用户空间函数?_Linux_Linux Kernel_Linux Device Driver - Fatal编程技术网

Linux 是否在内核中使用sprintf之类的用户空间函数?

Linux 是否在内核中使用sprintf之类的用户空间函数?,linux,linux-kernel,linux-device-driver,Linux,Linux Kernel,Linux Device Driver,我正在为我的驱动程序创建/proc条目。因此,在read回调函数中,第一个参数是我们将用户数据写入的位置。我搜索了如何在其中写入数据,我可以看到每个人都在为此使用sprintf。我惊讶地看到它在内核空间中工作。然而,在内核空间中使用用户空间函数应该是错误的。此外,如果不使用strcpy、sprintf等任何用户空间函数,我也不知道如何在该位置进行编写。我使用的是内核版本3.9.10。请建议我如何在不使用sprintf或任何其他用户空间函数的情况下执行此操作。sprintf是Linux中的内核空间

我正在为我的驱动程序创建/proc条目。因此,在read回调函数中,第一个参数是我们将用户数据写入的位置。我搜索了如何在其中写入数据,我可以看到每个人都在为此使用sprintf。我惊讶地看到它在内核空间中工作。然而,在内核空间中使用用户空间函数应该是错误的。此外,如果不使用strcpy、sprintf等任何用户空间函数,我也不知道如何在该位置进行编写。我使用的是内核版本3.9.10。请建议我如何在不使用sprintf或任何其他用户空间函数的情况下执行此操作。

sprintf
是Linux中的内核空间函数。它与它的用户空间名称完全分离,可能与它的工作方式相同,也可能与它的工作方式不同


仅仅因为用户空间中存在一个函数,并不意味着内核空间中同名的函数就不能使用。

大多数“正常”用户空间函数在内核代码中没有意义,因此它们在内核中不可用

但是,一些函数,如
sprintf
strcpy
memcpy
在内核代码中很有用,因此内核实现了它们(或多或少完全实现),并使它们可供驱动程序使用。
请参阅和。

如果您希望获得更快的响应,最好添加一些示例代码。您需要的是proc_create()。例如,请阅读内核文档树中的相关章节,并尝试编写一些代码。堆栈溢出不是一种免费的编程服务,因此生成一些代码,然后询问有关已生成代码的特定问题被认为是一种良好的行为。