WP 插件可以处理联合和双关语吗?
Can the WP plugin handle unions and type punning?
我正在处理一个类型双关示例,想知道 WP 或其他插件是否可以处理这个问题。到目前为止,我真的找不到任何关于 WP 和工会的东西,但他们似乎得到了支持。
这是一个示例片段:
float uint32_reg_to_float(uint32_t val) {
union {
uint32_t ui32;
float f;
} u;
u.ui32 = val;
return u.f;
}
据我所知,WP 只能处理在最有限的意义上使用联合的程序,即始终读取与上次更新联合时写入的完全相同的字段(在这种情况下,从纯逻辑的角度来看,您或多或少可以将所有字段视为不同的变量)。不过,这可能不是你所说的类型双关语......
另一方面,Eva 不应该对这样的联合有任何问题,明显的警告是,当解释为 float 时,会导致小整数间隔的抽象位模式可能更加不精确,反之亦然相反。
我正在处理一个类型双关示例,想知道 WP 或其他插件是否可以处理这个问题。到目前为止,我真的找不到任何关于 WP 和工会的东西,但他们似乎得到了支持。
这是一个示例片段:
float uint32_reg_to_float(uint32_t val) {
union {
uint32_t ui32;
float f;
} u;
u.ui32 = val;
return u.f;
}
据我所知,WP 只能处理在最有限的意义上使用联合的程序,即始终读取与上次更新联合时写入的完全相同的字段(在这种情况下,从纯逻辑的角度来看,您或多或少可以将所有字段视为不同的变量)。不过,这可能不是你所说的类型双关语......
另一方面,Eva 不应该对这样的联合有任何问题,明显的警告是,当解释为 float 时,会导致小整数间隔的抽象位模式可能更加不精确,反之亦然相反。