首页 > 解决方案 > 在 Ubuntu 20.04 上使用什么代替 strlen() 作为设备驱动程序

问题描述

Ubuntu 20.04
的输出uname -a

Linux station 5.4.0-56-generic #62-Ubuntu SMP Mon Nov 23 19:20:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

我正在尝试编写模拟设备驱动程序。我的理解是我必须使用内核头文件,并且我无法使用 c 标准库。我编写了一个程序,使用标准库函数在用户空间中模拟对磁盘的读/写等。现在我正在重构,将 malloc 转换为 kmalloc 等。我使用字符串中的 strlen(),并试图找到一个等效的内核空间。这导致我访问内核 api doc https://www.kernel.org/doc/htmldocs/kernel-api/ch02s02.html
这是我感到困惑的地方。在这个标题为基本 c 库函数的部分中,它列出了 strlen() 等。这是来自 string.h 还是来自其他标头的标准 c strlen?如果它是标准的 string.h ,那么我需要阅读更多内容,因为我对 linux 设备驱动程序中可能包含的内容的理解是不正确的。

标签: linux-device-driver

解决方案


我找到了。内核空间的字符串函数可以与

#include <linux/string.h>  

我只好继续寻找。


推荐阅读