C中的列表维护问题

时间:2012-09-13 21:52:33

标签: c list driver

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

这很黑。