请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:TMS320C6674 工具/软件:TI C/C++编译器
可以使用非常简单的代码片段来解锁该问题:
void miniTestCode()
枚举myEnum {};
myEnum enumVal =(myEnum) 0x8.9万;
unsigned int maskedVal =(myENum)(enumVal & 0x3FFFFFFFF);//corrupt with o2!!! 未看到掩码
printf ("miniTestCode enumVal = 0x%x,maskedVal = 0x%x",enumVal,maskedVal);
}
预期输出为"miniTestCode enumVal = 0x8.9万,maskedVal = 0x9000"
使用CCS6 TI 8.1 v.0编译时,如果没有优化,则会出现这种情况
使用o2编译,输出为"miniTestCode enumVal = 0x8.9万,maskedVal = 0x8.9万"。
这是一个已知问题吗?
此致TI_Andreas