一尘不染

Linux内核中的stdlib.h替代方案?

linux

在Linux中开发内核模块时,不允许使用C标准库。
但是,如果我需要使用某些常用功能,例如strcat(),我应该去哪里?


阅读 850

收藏
2020-06-07

共1个答案

一尘不染

无论Linux内核中没有实现什么,您都必须实现自己或从另一个开源内核模块中借鉴。但是,您会发现它strcat是在内核中实现的。

请参阅内核API文档。特别是关于您的一般问题的“
基本C库函数”部分,以及有关的特定问题的“
字符串处理”部分strcat

您将要包含linux/string.h

我不知道为什么内核API文档实际上没有显示要获得该功能必须包含的头文件。但是,如果您要查找某些内容,则可以将搜索范围限制为,/include/linux因为如果头文件具有在内核的不同部分之间共享的功能,那么这就是头文件所在的位置。

外部头文件/include/linux仅包含与头文件位于同一目录中的源文件的定义。例外是/arch/.../include,它将包含特定于体系结构的标头,而不是平台无关的标头。

2020-06-07