c中宏定义的一些应用积累
来源:互联网 发布:电视网络直播在线观看 编辑:程序博客网 时间:2024/06/16 17:09
1.数据拆分宏定义
以上均可以完成数据的拆分工作.
#define BYTE0(dwTemp) ( *( (char *)(&dwTemp) ) )#define BYTE1(dwTemp) ( *( (char *)(&dwTemp) + 1) )#define BYTE2(dwTemp) ( *( (char *)(&dwTemp) + 2) )#define BYTE3(dwTemp) ( *( (char *)(&dwTemp) + 3) )
在通讯中经常需要把数据拆成字节的形式,有多种方法这里是其中一种比较好用的方法
大致的处理过程是 对变量 dwTemp 去地址,然后将其强制转化成char类型的指针 最后再取出指针所指向的内容,这样就完成了对数据的拆分工作
能完成这种功能的还有种写法就是利用结构体,准确说是联合体示例如下
typedef union {uint16_t u16_vale;uint8_t bytes[2];}u16_type_u;
int mian (){u16_type_u u16;u16.bytes[0] = 10;u16.bytes[1] = 1;printf ("%d \n",&u16.u16_value);return 0;}
以上均可以完成数据的拆分工作.
2.充当内联函数使用
示例如下:
#define LED1(a)if (a)\GPIO_SetBits(GPIOB,GPIO_Pin_0);\else\GPIO_ResetBits(GPIOB,GPIO_Pin_0)关于内联函数,有如下示例大致可说明含义
inline int max (int i ,int j, int k){ if (i<j)i = j; if (i<k)i = k; return i;}内联函数的优势在于减少频繁的调用可节省资源
0 0
- c中宏定义的一些应用积累
- c宏定义的一些技巧总结
- c宏定义的一些写法符号
- C和C++中一些特殊宏的应用
- 积累的c/c++ 一些小程序
- C语言中定义和声明的一些差别
- 内核中一些宏操作的定义
- 工作中积累的一些名词解释
- 工作中积累的一些经验
- 工作中积累的一些mssql操作
- C语言百科一些成熟软件中常用的宏定义
- 关于C语言中 rand()函数的一些个人积累和见解z
- 关于C的预编译 宏定义 的一些使用
- c 语言中宏定义和定义全局变量的区别
- 【C语言】宏定义的一些所见所闻和心得
- c中宏定义
- C语言中常用的宏定义
- c中有用的几个宏定义
- Servlet:response和request
- ListView添加动态悬浮header的另类方式
- == 与 .equals 的区别
- Java 学习笔记14:Spring 数据库数据源DBCP配置说明
- Merge Two Sorted Lists
- c中宏定义的一些应用积累
- 获取当前时间,当前时间加减计算
- Mac 上搭建Zend Framework
- KVO/KVC机制
- 【openCV】对图像进行锐化
- JDBC基础
- 页面传值乱码解决办法
- 第12周“知原理”第5题
- hihocoder-1048 状态压缩·二(状压DP)