c - C中的列表维护问题

标签 c list driver

这个问题不太可能帮助任何 future 的访客;它只与一个小地理区域、一个特定时刻或一个非常狭窄的情况相关,而这些情况通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the help center .




9年前关闭。




假设我正在为设备编写驱动程序。有寄存器列表(A)需要在一些程序(B)中专门处理。一段时间后,有些人可能会发现某些寄存器(C)的值需要根据不同的情况更改(例如对于无线卡,情况可能是不同的 channel )。但是如果他们决定这样做,他们还需要将此寄存器(C)添加到列表(A)中,以便例程(B)也可以专门处理寄存器(C)。

所以问题是这种类型的寄存器在开发的早期阶段可能会发现很多或经常发现。我想知道是否有很好的方法来保持这一点。

我正在考虑静态维护它并在某些程序员在寄存器上执行某些操作时忘记与列表同步时引发编译错误。但这看起来是一个糟糕的选择(http://stackoverflow.com/questions/12412742/how-to-throw-a-compiling-error-in-c)

要动态维护这样的列表(A),对于驱动程序来说可能太重了......有什么提示吗?

让我将讨论限制在使用 gcc 编译器的 linux 驱动程序上。

最佳答案

您可以让驱动程序维护列表并使用 ioctl 调用添加或删除项目。

这会很糟糕。

关于c - C中的列表维护问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12415310/

相关文章:

c - 为什么在位掩码中使用十进制数?

python - 遍历列表列表并比较当前元素和最后一个元素

android - 无法在 Windows 7 上安装 Android USB 驱动程序

python - 在python中使用多个条件对列表进行排序

c# - 在 SortedSet<T> 上调用 ToArray()/ToList() 是否保证返回排序的数组/列表?

linux - 如何在 Linux 设备驱动程序中设置 errno?

operating-system - 是否可以在 vala 中编写系统级代码

c - 调用对象 ‘x2’ 的宏错误不是函数

c++ - 使用 pipe() 和 fork() 读取文件并输出到控制台/新文件

无法从Linux字符设备读取