定义结构体、联合的时候,有时候需要定义一个匿名的结构,这样访问成员的时候不需要增加一级操作

但是MDK默认不允许使用匿名!!!!

所以我们需要增加一个编译指令:

#pragma anon_unions

实际使用中,我们在其他数据结构中不需要这个功能,所以就得取消之,所以要用到下面两个编译指令:

#pragma push

#pragma pop

有点出入堆栈的感觉,其实push的作用就是保存当前的编译变量,而pop的作用是恢复,整体使用的方式如下:



1 // Start of section using anonymous unions
2 #pragma push
3 #pragma anon_unions
4 /** 此处定义需要匿名的结构\联合 */
5 // TODO
6
7 // End of section using anonymous unions
8 #pragma pop