我在Kext上工作,它应该可以访问struct proc->p_pid字段。问题是这个结构只在XNU源代码中定义,所以我在编译过程中遇到了incomplete definition of type 'struct proc'错误。
在我看来,将XNU头包含到我自己的项目中是一个糟糕的解决方案,但是还有什么替代方法呢?是将结构复制并粘贴到我自己的代码中吗?
发布于 2013-07-08 01:52:40
你应该使用proc_pid(proc_t)来做这件事。这种结构应该是不透明的,因为如果它在内核版本之间发生变化,您的代码可能会访问不正确的偏移量。
如果我在做一些邪恶的事情,我只会包含结构的定义,否则我会去寻找一个函数接口。
https://stackoverflow.com/questions/17512950
复制相似问题