gcc 一个恶心的 bug
我的测试项目下面有 4 个 .cpp 文件, 测试我写的模版(在另一些 .h 中)。
测试的编译选项主要是 -g3 -O0 ,无优化
当我改变了模版头文件,因为用到的测试代码在 main.cpp 中(包含了模版头文件),我把 main.o 删掉,重新编译,结果模版头文件的修改就是不能生效,跟没改一样,搞了很多次,都是不对,我一直以为是自己的代码有问题。在我快要疯掉时,我 make clean 所有 .o 删掉,再编译,竟然好了!
我操!我又没有使用预编译头,所有测试代码都在 main.cpp 中,它竟然把 main.cpp 代码编译到了其它 .o 中!