诡异的gcc编译错误
最近一直在linux上写程序,先把x windows上所有听说过没有听说过的IDE都装了一遍,非常的不好用,然后又逐个的试windows上的远程调试软件,如Magic c++,uniwin等,还是国人写的软件,都用不了,甚至Magic c++在网站上提供的for linux的免费版本,编译都会报错。最后还是老老实实的用ssh登陆上去,make+ gdb. 虽然不是很熟练,但是还是稳定能用。
只遇到有一个问题,当单步进入switch-case scope,看不到任何栈信息
switch(messageType) { case P2P_FOOR: { int piece_index=0; int nothing; ... } break;
info locals 什么也看不到,谁能告诉我为什么
另外gcc编译信息和vs.net有很大差距。比如下面这段编译错误信息
LocalInterface.h:26: undefined reference to `vtable for IStorage' Storage.o:(.gnu.linkonce.r._ZTI8CStorage[typeinfo for CStorage]+0x8): undefined reference to `typeinfo for IStorage' collect2: ld returned 1 exit status
浪费了一整天,还是让旁边一哥们帮我找出来的,原来是定义一个纯虚类做接口,而里面一个虚函数后面忘了写=0 以前以为vs.net有些编译出错信息就够无厘头的了,不想gcc更强。
按我的经验,用gcc开发,基本上会比vs.net效率低一半以上。
本文永久链接:http://www.xiaokou.org/2006/06/05/28/
转载 请注明:来自小抠大赚-博客 [http://www.xiakou.org]