随笔分类 -  C/C++

C和C++语言
摘要:偶然发现在C中sizeof(void)是合法的,于是,对它的作用产生了疑问。查阅资料在GNU文档中发现如下解释: In GNU C, addition and subtraction operations are supported on pointers to void and on pointe 阅读全文
posted @ 2013-10-17 19:46 离小木 阅读(2176) 评论(0) 推荐(0)
摘要:autoconf生成的编译选项默认是"-g -O2"。这个"-g"选项将我迷惑了,以为生成了GDB调试所需的信息,所以也就没有管后面的"-O2“选项。实际上在用GDB进行调试的时候,单步跟踪代码,GDB显示的代码非常混乱。要么某些代码行未显示,要么中间插入了很多看起来像库函数的代码。甚至有时检查变量值都不对,但是根据此变量生成的后续结果却是正确的。查看GCC文档,发现-g与-O选项虽然允许同时使用,但是会产生"surprise”的结果。为了方便开发阶段的调试工作,需要给autoconf添加一个调试选项来控制其生成的编译选项。这可以通过 阅读全文
posted @ 2013-07-27 15:43 离小木 阅读(813) 评论(0) 推荐(0)