头文件
在vscode中,进行tasklet和work中断实验的时候,对于包含的头文件如下两个一直爆红:
#include <linux/irq.h>
#include <linux/of_irq.h>
一路追查下来,发现是缺少头文件:
#include <linux/irq.h>
-> #include <asm/irq.h>
-> #include <mach/irqs.h> (该头文件无法找到)
尝试了如下一些办法:第二个办法有效
- 在
.vscode/c_cpp_properties.json
中添加头文件路径。(无用,希望有大手子解答)
追查下来发现,在内核文件中,本人用的是i.MX6ULL开发板(路径是./linux/arch/arm/mach-imx
)中,尝试在json文件中包含该路径,无果,爆红无法消除。 - 直接注释掉(有效)
#ifndef CONFIG_SPARSE_IRQ //#include <mach/irqs.h> #else #define NR_IRQS NR_IRQS_LEGACY #endif
猜测:
可能是内核版本问题,看文件名发现linux/arch/arm/
这个路径下都是一些芯片的名字。mach
开头的文件名,有可能是匹配之意。推测是芯片中断的一些匹配头文件,但是使用了设备树,所以即使是直接注释掉也不影响编译通过。