小编hob*_*bik的帖子

IAR CSTAT 分析中的 UNION 类型双关错误

我在 example.h 文件中有一个这样的类型结构:

typedef union{
uint16_t valNum;
struct{
uint8_t valNumH;
uint8_t valNumL;
};
} valueExp;
Run Code Online (Sandbox Code Playgroud)

我在 example.c 文件中使用这个结构:

uint16_t myFunction(uint16_t tempData){
uint8_t myData[8];
ValueExp mainValue;
mainValue.valNum=tempData;
myData[5]=mainValue.valNumH;

}
Run Code Online (Sandbox Code Playgroud)

当我分析 IAR-CSTAT 分析此函数时,出现此错误:

Union mainValue is written as valNum then read as another field - UNION-type punning
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个消息?

c static-analysis iar

5
推荐指数
1
解决办法
177
查看次数

标签 统计

c ×1

iar ×1

static-analysis ×1