Chinaunix首页 | 论坛 | 博客
  • 博客访问: 286173
  • 博文数量: 56
  • 博客积分: 3025
  • 博客等级: 中校
  • 技术积分: 534
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-06 17:28
个人简介

Honesty and diligence should be your eternal mates.

文章分类

全部博文(56)

文章存档

2012年(1)

2011年(27)

2010年(20)

2008年(8)

分类: C/C++

2011-11-17 12:04:32

老碰到这样的情况:见到一个bug,很熟悉,但又记不起是怎么样解决的。所以,就想到用一篇博文记录下来:

2011、11、17:

Bad file descriptor: 一般出现这个错误的原因是以只读的权限打开文件,却调用了写函数;

如果需要从被调用函数中带回字符串值,请用char **

2011、12、3:

内存泄漏问题:程序的内存泄漏问题编译器无法察觉,而幸运的是linux下有valgrind这个工具,用以检测内存错误。关于它的介绍,ibm上有一篇很好的文章:

2011、12、13:

最近在设计HLFS快照,设计了7页多,最后被师哥大刀阔斧地砍到1页。从中学到一些设计的方法:

>>接口与封装:

在设计接口的时候,我把struct inode *inode 作为接口的返回值,这样就把inode结构体暴露给了用户,其实用户是不需要知道inode的内容的。所以最后改成了uint64_t inode_addr。项目中的struct hlfs_ctrl也一样,用户也不需知道hlfs_ctrl的内容,所以师哥用HLFS_CTRL_T进行了封装;

2011、12、20:

又一次把strlen(buf)写成了sizeof(*buf),结果只写入snapshot.txt一个字符。

2011.12.21:

g_strvlenth()返回的个数包括NULL,所有在循环的时候应该减1,否则段错误;

g_hash_table_remove() 出错:false 正在找原因。。。


阅读(1432) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~