在Linux中开发内核模块时,不允许使用C标准库。 但是,如果我需要使用某些常用功能,例如strcat(),我应该去哪里?
strcat()
无论Linux内核中没有实现什么,您都必须实现自己或从另一个开源内核模块中借鉴。但是,您会发现它strcat是在内核中实现的。
strcat
请参阅内核API文档。特别是关于您的一般问题的“ 基本C库函数”部分,以及有关的特定问题的“ 字符串处理”部分strcat。
您将要包含linux/string.h。
linux/string.h
我不知道为什么内核API文档实际上没有显示要获得该功能必须包含的头文件。但是,如果您要查找某些内容,则可以将搜索范围限制为,/include/linux因为如果头文件具有在内核的不同部分之间共享的功能,那么这就是头文件所在的位置。
/include/linux
外部头文件/include/linux仅包含与头文件位于同一目录中的源文件的定义。例外是/arch/.../include,它将包含特定于体系结构的标头,而不是平台无关的标头。
/arch/.../include