• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






爱学问的驼

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2011年11月25日

转:"-Werror "产生的教训
摘要: 今天一问题小结:多花了半天时间,得一教训.案例:在准备重新做squid-3.0.STABLE16squid-3.0.STABLE16配置 make 时出现以下错误使make中断 g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/squid/etc/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -Werror -Wall -Wpointer-arith -Wwrite-strings - 阅读全文
posted @ 2011-11-25 00:42 爱学问的驼 阅读(637) 评论(0) 推荐(0)
 

2011年10月31日

引:善用backtrace解决大问题
摘要: 一.用途:主要用于程序异常退出时寻找错误原因二.功能:回溯堆栈,简单的说就是可以列出当前函数调用关系三.原理:1. 通过对当前堆栈的分析,找到其上层函数在栈中的帧地址,再分析上层函数的堆栈,再找再上层的帧地址……一直找到最顶层为止,帧地址指的是一块:在栈上存放局部变量,上层返回地址,及寄存器值的空间。2. 由于不同处理器堆栈方式不同,此功能的具体实现是编译器的内建函数__buildin_frame_address及__buildin_return_address中,它涉及工具glibc和gcc, 如果编译器不支持此函数,也可自己实现此函数,举例中有arm上的实现四.方法:在程序中加入backt 阅读全文
posted @ 2011-10-31 23:05 爱学问的驼 阅读(520) 评论(0) 推荐(1)
 

2011年10月24日

引:一个实用性很广的C语言链表实例
摘要: 链表的c语言实现(一)准备:动态内存分配 一、为什么用动态内存分配 但我们未学习链表的时候,如果要存储数量比较多的同类型或同结构的数据的时候,总是使用一个数组。比如说我们要存储一个班级学生的某科分数,总是定义一个float型(存在0.5分)数组: float score[30]; 但是,在使用数组的时候,总有一个问题困扰着我们:数组应该有多大? 在很多的情况下,你并不能确定要使用多大的数组,比如上例,你可能并不知道该班级的学生的人数,那么你就要把数组定义得足够大。这样,你的程序在运行时就申请了固定大小的你认为足够大的内存空间。即使你知道该班级的学生数,但是如果因为某种特殊原因人数有增加或者减少 阅读全文
posted @ 2011-10-24 23:18 爱学问的驼 阅读(928) 评论(0) 推荐(2)