摘要:
http://blog.csdn.net/xing_hao/article/details/6678048================================================一。内存对齐许多计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是... 阅读全文
摘要:
http://blog.csdn.net/crazycoder8848/article/details/8292770=====================================================typedef struct{ char a[100];} T_XXX... 阅读全文
摘要:
无论是Linux内核还是其他著名的c、c++库里都能见到 do{} while (0)这样的写法看似没有意义,其实出自名家之手,是在宏定义里使用的以前就了解到在程序里使用宏定义的函数后面的分号容易导致问题,今天算是深入认识了先看一个简单的宏#define SAFE_FREE(p) do {free(... 阅读全文
摘要:
今天在网上突然发现了下面几个关于c代码中的宏定义的说明,回想下,好像在系统的代码中也见过这些零散的定义,但没有注意,看到别人总结了下,发现果然很有用,虽然不知有的道可用与否,但也不失为一种手段,所以就先把它摘抄下来,增加一点见识:1,防止一个头文件被重复包含#ifndef BODYDEF_H#def... 阅读全文
摘要:
C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左... 阅读全文