摘要:        
柔性数组是C99的扩展,简而言之就是一个在struct结构里的标识占位符(不占结构struct的空间)。声明typedef struct zero_array{ size_t len; void * array[0];}zero_array_t;大小可以用sizeof 看看其大小printf("%d\n",sizeof(zero_array_t));//Debian IA 32 下输出4可以看到其array并没有占用空间。申请空间zero_array_t *ptr = (zero_array_t *)malloc(sizeof(zero_array_t)+sizeof(vo    阅读全文
posted @ 2012-03-20 20:19
westfly
阅读(808)
评论(2)
推荐(0)
        
            
        
        
摘要:        
今天调试程序,总是遇到segment fault,由于的多线程程序,gdb调试很麻烦,非常不爽,但是Bug还总是在哪里需要解决啊。只得想办法。网上说可以生成core文件,再用gdb调试core,至少可以定位到哪里出错。于是Google。segment fault产生的原因主要是与指针操作相关。《GDB调试core文件样例(如何定位Segment fault) 》详细介绍了相关错误原因View Code 一 造成segment fault,产生core dump的可能原因1.内存访问越界 a) 由于使用错误的下标,导致数组访问越界 b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字    阅读全文
posted @ 2012-03-20 14:38
westfly
阅读(677)
评论(0)
推荐(1)
        
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号