`
文章列表
转自《http://www.cnblogs.com/ToDoToTry/archive/2009/06/21/1507760.html》 我们在写程式时,有不少时间都是在看别人的代码。 例如看小组的代码,看小组整合的守则,若一开始没规划怎么看, 就会“噜看噜苦(台语) ” 不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间下,不免会对庞大的源代码解读感到压力。 网路上有一篇关于分析看代码的方法,做为程式设计师的您,不妨参考看看, 换个角度来分析。 也能更有效率的解读你想要的程式码片段。 六个章节: 
Writing a generic container in pure C is hard, and  it’s hard for two reasons: 1. The language doesn’t offer any real support for encapsulation or  information hiding.  That means that the data structures expose  information about internal representation right there in the interface  file for e ...

string.c

    博客分类:
  • c
void* memset(void *dst, int c, uint n) { if ((int)dst%4 == 0 && n%4 == 0){ c &= 0xFF; stosl(dst, (c<<24)|(c<<16)|(c<<8)|c, n/4); } else stosb(dst, c, n); return dst; } int memcmp(const void *v1, const void *v2, uint n) { const uchar *s ...
IDE的对比<http://www.iteye.com/magazines/134-IDE-Comparison>

最近有感

        感觉自己老犯这样一个错误,做什么都想全部搞懂,做什么都一定要做的完美最好,结果陷入细节的深渊。然而到最后也没有一个整体的把握,做出来的东西要么拖了很久,要么根本就做不出来。这种感觉应该就是以前看过一篇文章中的程序员的技术洁癖,在不顾实际情况下,想等待所有的条件都成熟,所有的技术都搞懂了,才去下手,去做一件事。到最后结果是什么也做不好。         因为,什么都搞懂是一件几乎不可能的事情,每天都有新的知识。很多东西完全不必要去花很多的功夫去学,完全可以找一个这方面的行家,简单培训你以下,能把事情进行下去即可,或者就请这方面的高手来完成,省事省力。         所有的条 ...
共享一份memcache(1.4.25)的代码

libev(4.22)代码

    博客分类:
  • c
共享一份libev(4.22)的代码
$ readonly PI=3.14 $ unset PI -bash: unset: PI: cannot unset: readonly variable $ cat << EOF| sudo gdb attach $$ call unbind_variable("PI") detach EOF $ echo $PI $
最近在读程序的修炼之道,这本书是一本注重实践的书籍。里面的道理看似简单朴实,却是作者在实际生活中的点点积累总结。这一过程需要多年的积累才能达到。其实里面的道理读者都基本懂,工作中多多少少都能遇到,但是不够全面,并且见地也没作者高。只有当我们遇到书中的情景就能与作者产生共鸣。

三本经典书籍

    博客分类:
  • book
1> Object-Oriented software Construction(面向对象软件构造) 2>Design Patterns(设计模式) 3>Analysis Patterns(分析模式)
  引导的汇编代码如下: #include "asm.h" #include "memlayout.h" #include "mmu.h" # Start the first CPU: switch to 32-bit protected mode, jump into C. # The BIOS loads this code from the first sector of the hard disk into # memory at physical address 0x7c00 and starts exe ...

进程vs线程

转<http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000> 我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。 首 ...
转<http://blog.csdn.net/jiang1013nan/article/details/6298727> 在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)set expandtab 对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:TAB替换为空格::set ts=4:set expandtab:%retab! 空格替换为TAB::set ts=4:set noexpandtab:%retab! 加!是用于处理非空白字符之后的TAB,即所有的TAB,若 ...

几个不错的博客

http://www.matrix67.com/blog/ http://blog.csdn.net/Hackbuteer1/article/category/1235683 http://www.jianshu.com/collection/e2a2a0073e2d http://www.jianshu.com/p/1a97412b27b0 https://github.com/justjavac/free-programming-books-zh_CN
http://lifegoo.pluskid.org/wiki/Quine.html
Global site tag (gtag.js) - Google Analytics