今天debug程序,在程序里加了一些新的变量,其他变量没有动过。
一跑程序,结果一个int*类型的叫Epoch的变量变成NULL了,以为是新加的变量的问题。检查了两个小时,发现问题在于Epoch在初始化的时候都不是NULL,但在运行中编程NULL了,非常不解,无论怎么调试都没有结果。
后来无意中make clean了一下,将所有的*.o都删了,从头编译,发现问题解决了。。。
可能是makefile写得不好,依赖关系不全,导致make的时候使用了以前版本的.o文件,链接起来就出问题了。
今天debug程序,在程序里加了一些新的变量,其他变量没有动过。
一跑程序,结果一个int*类型的叫Epoch的变量变成NULL了,以为是新加的变量的问题。检查了两个小时,发现问题在于Epoch在初始化的时候都不是NULL,但在运行中编程NULL了,非常不解,无论怎么调试都没有结果。
后来无意中make clean了一下,将所有的*.o都删了,从头编译,发现问题解决了。。。
可能是makefile写得不好,依赖关系不全,导致make的时候使用了以前版本的.o文件,链接起来就出问题了。