我对 unix 内核编译有疑问。我们正在为进程设计一种调度算法。我们改变了 fork.c ,sched.c 的内容。然而,虽然内核编译后更新了 fork.c,但 sched.c 保持不变。我在网上搜索过此类问题,但找不到解决方案。如果你们中有人对这个主题有想法,我将非常高兴。
谢谢 !
我对 unix 内核编译有疑问。我们正在为进程设计一种调度算法。我们改变了 fork.c ,sched.c 的内容。然而,虽然内核编译后更新了 fork.c,但 sched.c 保持不变。我在网上搜索过此类问题,但找不到解决方案。如果你们中有人对这个主题有想法,我将非常高兴。
谢谢 !
假设您make
用于构建内核:
make
如果依赖项的时间戳早于现有目标文件,则可能会跳过目标的制作。
如果您编辑了一些源文件,并且make
没有将其重新编译为新的目标文件,您应该检查主机的时钟并清除可能具有未来时间戳的文件。
在您的情况下,您希望sched.c
在内核编译期间发生更改,对吗?这是非常少见的,因为通常源未被触及而目标文件被更改。也许这会导致一些奇怪的循环依赖,从而阻止想要的动作:
sched.c : sched.c
command_to_edit -i sched.c -o sched.c
也许make
不会构建sched.c
,因为目标(sched.c
)的时间戳与依赖项(sched.c
)的时间戳相同。