今天在修改项目时发现修改了一个.h文件之后,没有make clean直接增量make导致整个程序的运行很奇怪,以前发现过.h文件修改之后增量make会使程序运行在一个未知的状态。
其实.h如果被修改了make的推导是不会管它的,这样它就不会重新编译整个系统,而其他一些依赖这个.h文件的.o可能已经不合适了,这样增量编译导致的结果就是杯具了。
当在项目中修改.h文件后未进行makeclean操作,直接使用增量make时,可能导致程序运行出现未知状态。解释了.h文件修改后增量编译的原理,以及这种做法可能导致的问题,并提供了解决方案。
今天在修改项目时发现修改了一个.h文件之后,没有make clean直接增量make导致整个程序的运行很奇怪,以前发现过.h文件修改之后增量make会使程序运行在一个未知的状态。
其实.h如果被修改了make的推导是不会管它的,这样它就不会重新编译整个系统,而其他一些依赖这个.h文件的.o可能已经不合适了,这样增量编译导致的结果就是杯具了。

被折叠的 条评论
为什么被折叠?