2011年11月20日

编程语言范式

摘要: 许多现存的编程语言都可基于其计算模型加以分类,归入某些语言族,或者属于某种编程范式。按照不同的规则,可以有多种分类的方法,而且不同的学者对某些语言的具体归属也有不同的意见。这里我们给出一种语言谱系:说明式(Declarative) 函数式 Lisp,ML,Haskell 数据流 ld,Val 逻辑式 Prolog 基于模板的 XSLT命令式(Imperative) 冯诺依曼 C,Ada,Fortran 脚本式 Perl,Python,PHP 面向对象 Smalltalk,C++,Java 值得注意的是这里并没有列出所有的编程范式,因为有些编程范式并不能按以上的方法进行分类,比如... 阅读全文
posted @ 2011-11-20 15:20 lisperl 阅读(7811) 评论(6) 推荐(5) 编辑

Linux 内核源代码的几个C语言技巧

摘要: 1.#define中使用do{statement}while(0) 保证statement无论在何处都能正确执行一次2.将链表操作抽象出来,与宿主结果相互独立。所有的链表操作都作用与list_head,然后通过宏 #define list_entry(ptr, type, member) container_of(ptr, type, member)获取宿主结构的地址.container_of定义:#define container_of(ptr, type, member) ({ \ const typeof(((type *)0)->member) *__mptr = (ptr); 阅读全文
posted @ 2011-11-20 10:52 lisperl 阅读(3109) 评论(0) 推荐(4) 编辑