这两天发疯一样改进 OverlayFS。。
今晚:
周四晚:
周三晚:
目前代码总行数:
可以说学程序以来从未如此投入过。C# 的时候没有,Java/Eclipse 的时候也没有,写 C++ 的时候更不会有。
目前进度:大量制造并消灭 bug 中。基本 overlay 完成,动态配置部分完成,信号响应还没有成功。辅助配置工具 dirmon 列入进程。
心得:开始的时候是由于在看 Linux VFS 源码,而且最近一直号称我是个写 C 的人,所以想练练手。结果,复杂程度一点一点提高,代码里 C++ 的比重一点一点增加(苦笑)很多时候如果想偷懒,C++ 会是很好的选择。模板、继承之类的高级特性完全可以不用,只要“封装”一项就能解决无数麻烦。FUSE 熟悉一些了,pthread 熟悉一些,最后正要熟悉 signal。Emacs + GDB 不说精熟无比也算略有心得;Valgrind 也慢慢会用了;顺便跟着 hellwolf 学会了一个 screen (重新学会——我开始用的时候他还没碰 Linux 呢。。)学会将任务分离到各个模块中,不论开发还是调试都会方便。不为了使用工具而使用工具,能用 Makefile 解决我就没有必要去看 autobook。扫描字符方面直接用指针比用 std::string 方便,管理内存还靠 map<string, T>。既然 C++ 努力保持了 C 兼容,我们就应该利用起来。
教训:该动笔打草稿就应该动笔,键盘不能解决一切问题,时间浪费太厉害了。低级错误太多,要学会认真用眼睛(而不是调试器)审核代码逻辑。很少做笔记,下次还得很麻烦。
非常期待 0.5 release 。。。:)
p.s.
今晚:
$ svn diff -r17:15 file:///svnroot/olfs/trunk | wc -l 847
周四晚:
$ svn diff -r15:12 file:///svnroot/olfs/trunk | wc -l 722
周三晚:
$ svn diff -r12:10 file:///svnroot/olfs/trunk | wc -l 573
目前代码总行数:
$ wc -l * | grep total 1561 total
可以说学程序以来从未如此投入过。C# 的时候没有,Java/Eclipse 的时候也没有,写 C++ 的时候更不会有。
目前进度:大量制造并消灭 bug 中。基本 overlay 完成,动态配置部分完成,信号响应还没有成功。辅助配置工具 dirmon 列入进程。
心得:开始的时候是由于在看 Linux VFS 源码,而且最近一直号称我是个写 C 的人,所以想练练手。结果,复杂程度一点一点提高,代码里 C++ 的比重一点一点增加(苦笑)很多时候如果想偷懒,C++ 会是很好的选择。模板、继承之类的高级特性完全可以不用,只要“封装”一项就能解决无数麻烦。FUSE 熟悉一些了,pthread 熟悉一些,最后正要熟悉 signal。Emacs + GDB 不说精熟无比也算略有心得;Valgrind 也慢慢会用了;顺便跟着 hellwolf 学会了一个 screen (重新学会——我开始用的时候他还没碰 Linux 呢。。)学会将任务分离到各个模块中,不论开发还是调试都会方便。不为了使用工具而使用工具,能用 Makefile 解决我就没有必要去看 autobook。扫描字符方面直接用指针比用 std::string 方便,管理内存还靠 map<string, T>。既然 C++ 努力保持了 C 兼容,我们就应该利用起来。
教训:该动笔打草稿就应该动笔,键盘不能解决一切问题,时间浪费太厉害了。低级错误太多,要学会认真用眼睛(而不是调试器)审核代码逻辑。很少做笔记,下次还得很麻烦。
非常期待 0.5 release 。。。:)
p.s.
$ uptime 04:36:18 up 8 days, 21 min, 2 users, load average: 0.00, 0.00, 0.00我可怜的开发机 + 音乐服务器啊……