今天在修改项目时发现修改了一个.h文件之后,没有make clean直接增量make导致整个程序的运行很奇怪,以前发现过.h文件修改之后增量make会使程序运行在一个未知的状态。
其实.h如果被修改了make的推导是不会管它的,这样它就不会重新编译整个系统,而其他一些依赖这个.h文件的.o可能已经不合适了,这样增量编译导致的结果就是杯具了。
本文讲述了在进行增量编译时,若修改了头文件(.h)但未执行make clean操作可能导致程序运行异常的情况。这种情况会导致依赖该头文件的编译单元(.o)不匹配最新更改,进而引发未知错误。
今天在修改项目时发现修改了一个.h文件之后,没有make clean直接增量make导致整个程序的运行很奇怪,以前发现过.h文件修改之后增量make会使程序运行在一个未知的状态。
其实.h如果被修改了make的推导是不会管它的,这样它就不会重新编译整个系统,而其他一些依赖这个.h文件的.o可能已经不合适了,这样增量编译导致的结果就是杯具了。

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