我对在ARMRealView编译器上按预期工作的不可移植代码有问题,但VC++、GCC拒绝编译它并且QAC++(一种静态分析工具)发出警告。问题我有一个系统需要解析消息中的助记符。助记符都是三个字符的8位ASCII字符串。为了简化和优化解析而不是对助记符字符串执行字符串比较,我将字符串打包成32位整数并执行整数比较。此外,为了能够使用switch/case而不是if-elseif链,我有一个宏,它接受一个文字字符串并生成关联的整数,这在ARMRealView中是一个编译时间常量,但在GCCx86/Linux或VC++/Windows://Note:DonotchangeCcasttos