C++ 取消锁定类型双关指针将打破严格的别名规则

C++ 取消锁定类型双关指针将打破严格的别名规则,c++,c,gcc-warning,avr-gcc,avr32,C++,C,Gcc Warning,Avr Gcc,Avr32,我正在使用AVR32 Studio Studio为AVRUC3控制器编译代码。 当我切换到优化级别-O2(优化更多)时,这个指针警告“取消锁定类型双关指针将打破严格的别名规则”开始出现。 我知道为什么我会收到这样的警告 但我的问题是,我应该使用-O2运行代码并解决所有错误,还是继续使用它们并使用-O0编译(无优化)就足够了。 请帮助我…谢谢。是的,您应该修复这些错误,因为它们会导致UB.gcc严格别名警告,并且会受到优化级别等的影响。。。警告消失并不意味着它不是未定义的行为。查看编译器抱怨的类型

我正在使用AVR32 Studio Studio为AVRUC3控制器编译代码。 当我切换到优化级别-O2(优化更多)时,这个指针警告“取消锁定类型双关指针将打破严格的别名规则”开始出现。 我知道为什么我会收到这样的警告

但我的问题是,我应该使用-O2运行代码并解决所有错误,还是继续使用它们并使用-O0编译(无优化)就足够了。


请帮助我…谢谢。

是的,您应该修复这些错误,因为它们会导致UB.gcc严格别名警告,并且会受到优化级别等的影响。。。警告消失并不意味着它不是未定义的行为。查看编译器抱怨的类型双关指针示例会有所帮助。Windows API通常通过联合使用许多in结构,这不是问题。@rcgldr是的,但甚至使用严格的别名。虽然我同意一个代码示例会很有帮助。感谢everyoneyes的帮助,您应该修复这些错误,因为它们会导致UB.gcc严格的别名警告,并且会受到优化级别等的影响。。。警告消失并不意味着它不是未定义的行为。查看编译器抱怨的类型双关指针示例会有所帮助。Windows API通常通过联合使用许多in结构,这不是问题。@rcgldr是的,但甚至使用严格的别名。虽然我同意一个代码示例会很有帮助。谢谢大家的帮助