linux - fmem 编译错误与 make

标签 linux memory compilation

我是 Linux 世界的初学者,我正在尝试了解如何运行 make 命令。我正在尝试使用 fmem(内存转储工具),据说“make”必须从文件夹中的终端运行。

但是我得到了这个:

root@bakie:/root/Desktop/fmem/fmem_1.6-0# make
rm -f *.o *.ko *.mod.c Module.symvers Module.markers modules.order \.*.o.cmd \.*.ko.cmd \.*.o.d
rm -rf \.tmp_versions
make -C /lib/modules/`uname -r`/build SUBDIRS=`pwd` modules
make: *** /lib/modules/3.10-3-686-pae/build: No such file or directory.  Stop.
make: *** [fmem] Error 2

我使用的是 Debian (Kali) 3.10-3-686-pae

如何解决这个编译错误?

最佳答案

fmem 是一个插入内核的模块,通过它您可以访问 /dev/fmem(代替 /dev/mem 出于安全原因,从 linux 内核 2.6 开始打折)。

像任何其他内核驱动程序模块一样,要编译它,您需要有内核 header ,这在您的 linux 上似乎缺失了。看这个link关于如何安装内核头文件。一旦您获得了内核头文件,它应该可以正常编译。

关于linux - fmem 编译错误与 make,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22436178/

相关文章:

WPF 用户控件内存泄漏

c# - 为什么不缓存使用 lambda 表达式初始化的非捕获表达式树?

linux - 在 Linux 中按时间戳排序文件直到毫秒

linux - 如何将端口 4200(Angular Web 服务器)绑定(bind)到端口 80(Apache Web 服务器)?

android - 在 Android 上停止 chrooted linux

linux - OpenLDAP 错误 : entry -1 has no dn Slaptest won't work

c - 静态变量 - C

c++ - 如何安全地将 void* 设置为特定地址 C++

c++ - 为 Windows Mobile 设备编译 SQLite 合并

c++ - 为什么无效的 C++ 映射声明在编译时不会失败?