摘要: C 宏很强大,但我们大多只知道它的替换功能,具体细节总是不清楚,现在时候全面了解它了。 测试方式 gcc –E macro.test.c 参考资料 gcc: http://gcc.gnu.org/onlinedocs/cpp/Macros.html 也可以研究一下boost的 MACRO Metaprogram 或看Linux内核的一些宏技巧(比如list定义,once_call,... 阅读全文
posted @ 2010-11-20 03:23 napoleon_liu 阅读(10422) 评论(1) 推荐(2)
摘要: 这个FOREACH使用了GCC的扩展特性typeof和({}),所以只保证能在linux下玩哦。 源程序 foreach.h #ifndef _MACRO_FOREACH_H_#define _MACRO_FOREACH_H_#define FOREACH_USE_ITERATOR(each_var, it_begin, it_end) \ if(int is_break_used_for_fo... 阅读全文
posted @ 2010-11-20 01:57 napoleon_liu 阅读(2522) 评论(3) 推荐(3)