常用C语言头文件库的漂亮宏定义
1. 防止一个头文件被重复包含
#ifndef COMDEF_H
#define COMDEF_H
//头文件内容
#endif
2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。
typedef unsigned char boolean; /* Boolean value type. */
typedef unsigned long int uint32; /* Unsigned 32 bit value */
typedef unsigned short uint16; /* Unsigned 16 bit value */
typedef unsigned char uint8; /* Unsigned 8 bit value */
typedef signed long int int32; /* Signed 32 bit value */
typedef signed short int16; /* Signed 16 bit value */
typedef signed char int8; /* Signed 8 bit value */
下面的不推荐使用:
typedef unsigned char byte; /* Unsigned 8 bit value type. */
typedef unsigned short word; /* Unsinged 16 bit value type. */
typedef unsigned long dword; /* Unsigned 32 bit value type. */
typedef unsigned char uint1; /* Unsigned 8 bit value type. */
typedef unsigned short uint2; /* Unsigned 16 bit value type. */
typedef unsigned long uint4; /* Unsigned 32 bit value type. */
typedef signed char int1; /* Signed 8 bit value type. */
typedef signed short int2; /* Signed 16 bit value type. */
typedef long int int4; /* Signed 32 bit value type. */
typedef signed long sint31; /* Signed 32 bit value */
typedef signed short sint15; /* Signed 16 bit value */
typedef signed char sint7; /* Signed 8 bit value */
一、指定的某一位数置1
#define setbit(x,y) x|=(1<<y)
二、指定的某一位数置0
#define clrbit(x,y) x&=~(1<<y)
三、指定的某一位数取反
#define reversebit(x,y) x^=(1<<y)
三、获取的某一位的值
#define getbit(x,y) ((x) >> (y)&1)
四、常用宏打印
| 宏 | 功能 |
|---|---|
| __FILE __ | 当前程序文件名的字符串 |
| __FUNCTION __ 或 __func __ | 当前函数名的字符串 |
| __LINE __ | 当前行号的整数 |
| __DATE __ | 当前日期的字符串 |
| __TIME __ | 当前时间的字符串 |
未完待续

浙公网安备 33010602011771号