myutility.h

来自「sourceforge历史版本完整下载: http://sourceforge.」· C头文件 代码 · 共 77 行

H
77
字号
#ifndef __MYUTILITY_H__#define __MYUTILITY_H__#include <assert.h>#include "myerr_def.h"/** * 不使用的参数 */#define MY_UNUSED_ARG(x) do{}while(&x == 0)/** * @brief 计算索引i的指针值,x为起始,s为指针下走的跨度 */#define GET_INDEX_PTR(x, i, s) (/*assert(0 == (s % 4)),*/ ((unsigned char *)(x) + (i) * (s)))/** * @brief 计算对齐 */#define CAL_ALIGMENT(x, ali) ((ali) - (x) % (ali))/** * @brief unsgined int转成大码,存入一个数组 */#define uint_to_big_endian(_uint_val, _dst_array, _dst_array_size) \	do{\		assert((_dst_array_size) >= 4);\		(_dst_array)[0] = ((_uint_val)>>24) & 0xff;\		(_dst_array)[1] = ((_uint_val)>>16) & 0xff;\		(_dst_array)[2] = ((_uint_val)>>8) & 0xff;\		(_dst_array)[3] = (_uint_val) & 0xff;\	}while(0)/** * @brief 将一个大码形式保存的无符号整形数转存到一个unsigned int 变量里 */#define array_to_uint_as_big_endian(_src_array, _src_array_size, _uint_val) \	do{\		assert((_src_array_size) >= 4);\		_uint_val = ((_src_array)[0]<<24) | ((_src_array)[1]<<16) | ((_src_array)[2]<<8) | (_src_array)[3];\	}while(0)/** * @brief 将一个2字节的值存入数组 */#define put_2byte(_val, _dst_array, _dst_array_sz) \	do{\		assert((_dst_array_sz) >= 2);\		(_dst_array)[0] = (_val)>>8; \		(_dst_array)[1] = (_val); \	}while(0)/** * @brief 从一个数组里取出一个2字节的值 */#define get_2byte(_src_array, _src_array_sz, _val) \	do{\		(_val) = ((_src_array)[0]<<8) | (_src_array)[1];\	}while(0)#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?