摘要: (一) 首先用实参替换形参,将实参代入宏文本中, 将实参代入宏文本后,。 (二) 如果遇到字符“#”或“##”,即使实参是宏,也不再展开实参,而是当作文本处理;否则如果实参也是宏,则展开实参; (三) 最后再继续处理宏替换后的宏文本,若宏文本也包含宏则继续展开,否则完成展开。 /*! TEST1 ! 阅读全文
posted @ 2014-04-04 14:06 一零 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 1.'操作符,quote的语法糖,被'修饰的表达式不会被求值,将会被原样保留.例:(list 1 2 '(+ 1 2)) => (1 2 (+ 1 2))2.` 返回一个list, 但是要原封不动的返回,即使list里面的list也不会被求值.`(1 2 (+ 1 2)) => (1 2 (+ 1 2)) `(and 1 2) => (AND 1 2)3.在`符号里面使用,用于将部分子list求值.`(1 2 ,(list 1 2)) => (1 2 (1 2))4.,@ 和,类似,生成的list将嵌入原来的列表,`(1 2 ,@(list 1 阅读全文
posted @ 2014-03-03 20:48 一零 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 结构体赋值成员被覆盖 是不同的,第一种方式会覆盖掉urb部分已经初始化了(由usb_alloc_urb()初始化的)的成员. 阅读全文
posted @ 2014-01-07 08:40 一零 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 快速判断一个数是否是2的幂 已知一个数n,求m,使m >= n,且m是2的幂 阅读全文
posted @ 2013-12-26 13:45 一零 阅读(231) 评论(0) 推荐(0) 编辑
摘要: malloc的一个简单的实现: 空闲内存块,和已分配的内存经由如下结构管理struct _MObject{ MObject *before; /*!指向上一个对象,由上一个对象维护(什么,这个对象的成员由上个对象维护?)!*/ long busy; size_t length; /*! 整个对象长度,包括prev,length,所占空间在内 !*/ union{ struct{MObject *next,*prev;}; /*! 空闲对象链 !*/ int8_t chunk[0]; ... 阅读全文
posted @ 2013-12-25 20:00 一零 阅读(358) 评论(0) 推荐(0) 编辑
摘要: tar zxf bochs-x.x.x.tar.gzcd bochs-x.x.x/sudo yum install gcc gcc-c++ readline-devel gtk2-devel./configure --enable-disasm --enable-readline --enable-... 阅读全文
posted @ 2013-12-22 16:29 一零 阅读(530) 评论(0) 推荐(0) 编辑