anonymous structs匿名结构体
来源:互联网 发布:tbq淘宝权微博 编辑:程序博客网 时间:2024/05/02 04:27
在Keil上编程时这样一个union
typedef union CDATE {uint16_t value;struct {uint16_treserved : 1;uint16_tday : 5;// day: 0-30, 0=1st, 1=2nd, ...uint16_tmonth : 4;// month: 0-11, 0=JANURAY, 1=FEBRARY, ...uint16_tyear : 6;// year: 0-63, 0=TIM_YEAR_BASE};} CDATE;
编译器报错:error: #3093: anonymous structs are only supported in –gnu mode, or when enabled with #pragma anon_unions
默认设置无法使用匿名结构体,解决的办法:
- 给结构体添加名字,比如day,但是使用的时候就必须键入这个名字,比如:
typedef union CDATE {uint16_t value;struct {uint16_treserved : 1;uint16_tday : 5;// day: 0-30, 0=1st, 1=2nd, ...uint16_tmonth : 4;// month: 0-11, 0=JANURAY, 1=FEBRARY, ...uint16_tyear : 6;// year: 0-63, 0=TIM_YEAR_BASE}date;} CDATE;CDATE date;date.date.day = 1;
- 在Misc Controls中添加–gnu
- 在code中添加#pragma anon_unions
后两种方法都不需要加入结构体名字,使用时会比较方便,比如:
CDATE date;date.day = 1;
我在使用第二种方法编译时STM32的hal driver出现了警告,别小瞧了警告,有时候系统功能不正常可能就是某个警告引起的,为了避免可能出现的问题,还是选择了第三种方法。
0 0
- anonymous structs匿名结构体
- Golang初级系列教程-结构体匿名字段-Anonymous fields in structs
- Anonymous 匿名
- Solidity 结构体Structs
- 匿名类型(Anonymous Types)
- 匿名类Anonymous Classes
- 匿名类(Anonymous Class)
- 匿名方法(Anonymous Methods)
- 匿名联合(anonymous union)
- 匿名者Anonymous 十项大事记
- 匿名者Anonymous 十项大事记
- uc脚本 3--结构体structs 与 枚举型 enum
- Golang初级系列教程-结构体方法-Methods on structs
- 匿名内布部类[anonymous inner class]
- Anonymous Inner class(匿名内部类)
- Java匿名类(Anonymous Class)
- C#3.0 匿名类型(Anonymous Types)
- 黑客组织Anonymous(匿名者)
- Yii 2.0 权威指南 (2) 使用forms
- Android OkHttp完全解析 是时候来了解OkHttp了
- Android可能会遇到的几种类型面试题
- cocos2dx学习之路----第十二篇(关于Node节点的自我更新函数Update探讨及定时器的使用)
- 常见的熟知端口
- anonymous structs匿名结构体
- Android知识要点整理(17)----Gradle 之自定义构建
- UVA-1388 && POJ-3154 墓地雕塑(数学)
- C#入门1.2——继承
- 适配器模式
- Mac环境下使用Android Studio配置GIT
- H5中利用JS实现全选、反选、不选
- 各类线性表(非常值得一看)
- Android Volley 简单分析