我正在尝试开发一个新的系统调用并将其添加到内核中,但是由于包含syscall方法实现的c文件只能使用驻留在内核地址空间内的函数,因此我敢肯定我可以不要使用popen,stat等方法。 我在Internet上做了一些研究,但是找不到任何可以使我在内核中使用的功能的机器。
答案 0 :(得分:1)
可能需要克服的最大差异(其中包括许多差异)是:内核未与libc
链接。因此,请看libc
提供的所有内容。你什么都没得到...
...好吧。 libc
提供的某些功能实际上是在内核本身内部实现的。您需要包括这些标头的内核版本:
#include <linux/[header file].h>
要了解内核中可用的功能,您需要查看内核源代码树的头文件中定义的功能。
需要记住的其他几点:
关于该主题的一本好书是Linux Kernel Development by Robert Love(我绝不隶属;这只是一本好书)。