Random Posts
Tags
Categories
Recent Comments
- xlb on 你为什么会离开游戏行业?
- ychellboy on CD3:Flash 开发宝典
- Barenboim on 异步事件模型的 Self-pipe trick
- Barenboim on 异步事件模型的 Self-pipe trick
- wqchen on 异步事件模型的 Self-pipe trick
Links
Meta
Monthly Archives: January 2025
GCC 利用未定义行为进行优化正确么?
说实话,编译器是否该利用 Undefined Behavior 进行优化目前都还是一个争议话题,主要是 gcc 开了个坏头,不予余力的在默认参数下利用 UB 来优化,举个例子,C 语言里带符号整数溢出是未定义行为,编译器应该假设它实际上以某种方式定义了: int foo(unsigned char c) { int value = 2147483600; value += c; if (value < 2147483600) bar(); return value; } 但利用这个 UB 进行优化的编译器会认为,既然 x 不会是负数,那么 value < 2147483600 就永远不会发生,所以整个 if 语句以及后面的 … Continue reading