+ -
当前位置:首页 → 问答吧 → 如何使用System Call 读取page table 参数

如何使用System Call 读取page table 参数

时间:2011-05-20

来源:互联网

Hi all,

我想在linux版本 2.6.26-2-xen-686 使用syscalls 读取page table 中的"Dirty page" 参数,

已事先另外下载 linux-headers-2.6.26-2-xen-686 (2.6.26-26lenny2) 套件,

套件执行后产生新的路径: /usr/src/linux-headers-2.6.26-2-xen-686/include/linux/page-flags.h

但 #include <page-flags.h> 以及 fd= open ("/usr/src/linux-headers-2.6.26-2-xen-686/include/linux/page-flags.h", O_RDONLY);

执行 gcc compiler 显示 syscallopen.c:7:24: error: page-flags.h: 没有此一档案或目录

请问各位, 无法执行是因为header的路径摆放位置不正确, 还是system call 的写法错误呢?

作者: yogihuang   发布时间: 2011-05-20

yogihuang 写:Hi all,

我想在linux版本 2.6.26-2-xen-686 使用syscalls 读取page table 中的"Dirty page" 参数,

已事先另外下载 linux-headers-2.6.26-2-xen-686 (2.6.26-26lenny2) 套件,

套件执行后产生新的路径: /usr/src/linux-headers-2.6.26-2-xen-686/include/linux/page-flags.h

但 #include <page-flags.h> 以及 fd= open ("/usr/src/linux-headers-2.6.26-2-xen-686/include/linux/page-flags.h", O_RDONLY);

执行 gcc compiler 显示 syscallopen.c:7:24: error: page-flags.h: 没有此一档案或目录

请问各位, 无法执行是因为header的路径摆放位置不正确, 还是system call 的写法错误呢?


page-flags.h 并不在预设的 header 搜寻路径里
所以 gcc 会跟你抱怨说找不到

多加一个 gcc 参数 -I/usr/src/linux-headers-2.6.26-2-xen-686/include/linux/ 试试看
("-I" 与 "/usr/src/linux-headers-2.6.26-2-xen-686/include/linux/" 之间没有空格)
-I 这个参数可以指定 header files 的搜寻路径
更详细的说明可以参考 鸟哥的 Linux 私房菜 里的 第二十二章、软体安装:原始码与 Tarball

作者: j1989_41   发布时间: 2011-05-20