红联Linux门户
Linux帮助

由于Ubuntu系统时间早于Windows系统时间造成的编译问题

发布时间:2016-02-21 10:05:51来源:linux网站作者:Decisiveness

使用beyond compare同步两个平台的文件。


在Windows系统下修改了某一个c文件,通过beyond compare文件拷贝的方式将这个修改的文件整体拷贝至Ubuntu下的对应目录下。执行代码编译,结果是在Windows下所做的修改没有被编译进去。


原因是将修改的文件拷贝至Ubuntu下时文件的修改时间是Windows系统下的时间,而Ubuntu系统时间要快于Windows的时间,在编译的时候,修改的源文件是对应的.o文件的依赖,而这个.o文件的时间要比此c文件的时间要新(如果两个系统时差足够大,上一次.o文件产生的时间比Windows下此c文件的修改时间要晚),所以此c文件不会被编译。


c文件是否被编译取决于文件的修改时间是否要比它对应的.o文件要新,如果新,则编译,
否则不编译。


本文永久更新地址:http://www.linuxdiyf.com/linux/18249.html