标签: linux-kernel linux-device-driver
编写Linux驱动程序时,我们可以选择在编译时或运行时初始化链表和工作队列。每个人的利弊是什么?在它们之间做出选择的考虑因素是什么?
答案 0 :(得分:0)
如果存在重新初始化子功能(例如,可能由open()或ioctl()操作调用),则必须在运行时初始化列表的代码。如果有代码可以执行,如果静态初始化与运行时代码不匹配,则可能会出现细微的错误。
open()
ioctl()
运行时优化往往在设备驱动程序初始化时几乎没有重要性。
如果列表需要大量内存,则动态分配是典型的,无法通过静态初始化完成。