make: *** 没有规则可制作目标“../alloc.c”。 停止。
时间: 2023-09-11 22:06:40 浏览: 64
这个错误信息表示在编译程序的过程中,make 工具找不到 "../alloc.c" 文件,因此无法继续编译。可能的原因有:
1. "../alloc.c" 文件不存在或路径不正确。
2. 编译命令中没有包含 "../alloc.c" 文件。
3. 编译命令中包含了错误的路径或文件名。
您可以检查一下文件路径是否正确,或者确认文件是否存在。如果文件路径正确,可能需要检查一下编译命令是否正确,是否包含了正确的文件名和路径。
相关问题
../alloc.c 文件不存在
如果 ../alloc.c 文件不存在,那么需要检查该文件是否被误删或者移动到其他位置了。如果你确认该文件确实不存在,那么可以尝试重新获取该文件并将其放置到正确的位置。
如果你不知道该文件应该放置在哪个位置,可以查看该文件所在的项目或者软件的源代码,以找到 ../alloc.c 文件的正确路径和位置。
如果你无法获取该文件,可以考虑使用其他替代方案,例如使用类似 ../malloc.c 的文件来替代 ../alloc.c 文件。不过,这种替代方案可能会导致编译错误或者运行时错误,所以需要谨慎使用。
kernel BUG at mm/page_alloc.c:1660!
这个 BUG 通常是由于内存不足导致的。当系统内存不足时,内核会尝试从页面分配器中获取更多的页面,但如果没有可用的页面,则会触发这个 BUG。
解决这个问题需要根据具体情况进行不同的处理。以下是一些可能有用的建议:
1. 确认系统中是否存在内存泄漏的进程或模块,可以使用 top 或 htop 等工具进行查看。
2. 如果系统虚拟内存不够大,可以通过编辑 /etc/sysctl.conf 文件并增加 vm.swappiness 值来提高交换空间的使用率。
3. 如果系统中存在过多的内存占用较大的进程,可以尝试使用 ulimit 命令限制这些进程的内存使用。
4. 可以尝试升级内核版本,新版本内核可能会修复一些已知的内存管理问题。
如果以上方法都无法解决问题,建议向内核开发人员或社区寻求帮助。