Linux gcc for 循环中 i=i++ 会造成死循环问题及 ++i / i++ 汇编分析

在把 Windows 程序移植到 Linux 时遇到了死循环,最后定位到了类似这种的语句 for (i = 0; i < 1; i = i++), 别问我是谁写的,为什么这么写(泪目!)。 根据C语言的常识, i = i++ 应该等价于 i++, Windows 上确实是这样,但 Linux 不是,这应该是编译器差异造成的。...