最近在看驱动代码时发现代码中使用了 __KERNEL__ 宏,通过prink打印判定肯定是走到 #ifdef __KERNEL__ 定义里面去了,即肯定有 __KERNEL__ 的定义,但是VS code中搜索就是找不到这个宏定义(makefile中也没有),最后通过查找,内核源码的Makefile中有这个宏定义,且把内核源码的Makefile中 __KERNEL__ 这个定义注释掉,驱动立即报错。所以看来驱动编译时会用到内核的Makefile。
相关文章
- 12-19使用buildroot中的内核源码,编译驱动ko文件
- 12-19Linux内核驱动将多个C文件编译成一个ko文件的方法——每一个C文件中都有module_init与module_exit
- 12-19关于linux内核驱动开发中Makefile编译的问题
- 12-19《Linux设备驱动开发详解 A》一一3.4 Linux内核的编译及加载
- 12-19解决linux的驱动用insmod 方法测试可以,但静态编译到内核不能正确使用的问题
- 12-19将下载的驱动编译到kernel内核(linux)
- 12-19A40i &T3 全源码编译-ARM Linux内核在PC Linux的编译方法
- 12-19A40i &T3 全源码编译-ARM Linux内核在PC Linux的编译方法
- 12-19【Linux高级驱动】平台设备驱动机制的编程流程与编译进内核
- 12-19关于linux内核驱动开发中Makefile编译的问题