这几天我的程序遇到一个莫名其妙的错误,代码执行到一个lib就挂。而我的代码是完全参考一段成熟的代码来调用这个lib的。懊恼啊,最后柳暗花明,原来我在debug版链接的是release版的lib。
这已经是我第二次犯这个错误了,上一次是有两个项目生成重名的lib,结果也乱掉了,程序一执行就挂。
所以,我感觉记下这个错误,以及所有能让程序挂掉的情况会很有好处。
当程序出现莫名其妙的错误,你会想到什么?
(1)链接了不同版本的库(连接错误版本的静态库或者动态库)。
(2)如果你的程序在本机运行好好的,到其他机子就挂,很可能是那台机子上缺乏运行环境,比如C++的运行库。
(3)内存非法访问。
........