我有关于unix内核编译的问题。我们正在为过程设计调度算法。我们更改了fork.c,sched.c的内容。但是,在内核编译后fork.c正在更新时,sched.c保持不变。我在网上搜索过这类问题但我找不到解决方案。如果你们中有人对这个问题有所了解,我将非常高兴。
谢谢!
答案 0 :(得分:0)
假设您使用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
)相同。