在编译时VS运行时初始化链表或工作队列

时间:2014-12-24 06:08:24

标签: linux-kernel linux-device-driver

编写Linux驱动程序时,我们可以选择在编译时或运行时初始化链表和工作队列。每个人的利弊是什么?在它们之间做出选择的考虑因素是什么?

1 个答案:

答案 0 :(得分:0)

如果存在重新初始化子功能(例如,可能由open()ioctl()操作调用),则必须在运行时初始化列表的代码。如果有代码可以执行,如果静态初始化与运行时代码不匹配,则可能会出现细微的错误。

运行时优化往往在设备驱动程序初始化时几乎没有重要性。

如果列表需要大量内存,则动态分配是典型的,无法通过静态初始化完成。