linux-device-driver - 在 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 设备驱动程序中可能包含的内容的理解是不正确的。
解决方案
我找到了。内核空间的字符串函数可以与
#include <linux/string.h>
我只好继续寻找。
推荐阅读
- android - 为什么当我“缓慢”更改滑块时,我的搜索栏只注册 0 值?
- c - 我的 C 代码给了我很多错误
- javascript - 单击 SpeedDialAction 按钮时,我可以阻止 Material-UI SpeedDial 关闭吗
- google-cloud-platform - 限制谷歌云功能配额
- javascript - 在我自己的网站上显示我自己的 Instagram 供稿
- python - 是否有可能通过 Microsoft Teams 中的代码响应呼叫?
- html - Bootstrip 网格元素 - 将大多数内容垂直对齐到顶部,但将按钮对齐到底部
- anaconda - 没有名为“trading_calenders”的模块
- nuxt.js - 带有可选参数的 Nuxjs 主路由
- sql - SQL:选择一系列日期范围内的所有观察?