发布时间:2012-12-31 16:24:45
一般而言抽象和实现会在同一个类层次里,就像这样: interface SomeInterface { virtual void f() = 0; }class SomeImplementation : public SomeInterface { virtual void f() {} } 这种设计的好处在于用户只和接口 交互,所以实现可以随意改变。但是接口的改变会影响到实现,所以当接口需要经常改变时,就可能需要桥接模式。 class Abstract{public: virtual void f() = 0;private: &......【阅读全文】
发布时间:2012-12-29 21:11:37
本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。作者:gfree.wind@gmail.com博客:linuxfocus.blog.chinaunix.net 终于开始glibc的代码学习了,这段时间纠结的事情太多,牵涉了不少精力。好,下面进入正题。第一个函数strcpy:/* 代码风格应该是K&R风格 */char * strcpy (dest, src) char *des......【阅读全文】
发布时间:2012-12-29 21:10:39
作者:gfree.wind@gmail.com博客:linuxfocus.blog.chinaunix.net在软件开发的过程中,无论如何努力,bug几乎都是必不可少的。当某些bug发生时,该进程会产生coredump文件。通过这个coredump文件,开发人员可以找到bug的原因。但是coredump的产生,大都是因为程序crash了。而有些bug是不会导致进程crash的,比如死锁——这时,程序已经不正常了,可是却没有coredump产生。如果环境又不允许gdb调试,难道我们就束手无策了吗?针对这种情况,一般情况下,对于这样的进程,可以利用watchdog监控它们,当发现这些进程很长时间没......【阅读全文】
发布时间:2012-12-29 21:10:19
本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。作者:gfree.wind@gmail.com博客:linuxfocus.blog.chinaunix.net 作为程序员,调试是一项很重要的基本功。调试的技巧和水平,直接决定了解决问题的时间。一般情况下,GDB的基本命令已经足以应付大多数问题了。但是,对于有些问题,还是需要更高级一些的命令。今天介绍一下checkpoint。有一些bug,可能很难复现,当好不容易复现一次,且刚刚进入程序的入口时,我们需要珍惜这个......【阅读全文】