C Linux内核系统调用编译错误
我正在为我的操作系统课做一些家庭作业,我在编译时遇到了一个错误,但是我找不到关于它的很多信息。下面是有问题的代码(大部分代码) 我的错误是:C Linux内核系统调用编译错误,c,linux,kernel,system-calls,C,Linux,Kernel,System Calls,我正在为我的操作系统课做一些家庭作业,我在编译时遇到了一个错误,但是我找不到关于它的很多信息。下面是有问题的代码(大部分代码) 我的错误是: 函数“in_nmi”的隐式声明 函数“in_irq”的隐式声明 行参考是指从第二行到最后一行: ptep = pte_offset_map(pmd, address); 我的任务是在Linux中获得给定虚拟内存地址的页面描述符。我是否遗漏了一个具体的“包括”?另外,如果我现在做的不起作用,你能解释一下原因吗 谢谢 你编译内核还是一些模块?是的,它可能
- 函数“in_nmi”的隐式声明
- 函数“in_irq”的隐式声明
ptep = pte_offset_map(pmd, address);
我的任务是在Linux中获得给定虚拟内存地址的页面描述符。我是否遗漏了一个具体的“包括”?另外,如果我现在做的不起作用,你能解释一下原因吗
谢谢 你编译内核还是一些模块?是的,它可能会丢失标题。编译内核。我应该使用pte_offset_内核而不是pte_offset_映射吗?IIRC,试试
#include谢谢你的帮助,我实际上应该使用pte_offset_内核而不是pte_offset_映射。我不知道两者的区别是什么,但是这个小小的改变修复了它,现在它可以编译了。再次感谢。
ptep = pte_offset_map(pmd, address);