别听他们的,我欣赏你!
没有刨根问底的精神就不会有进步!
我写c都10年了,碰到类似的问题也很头疼,而c里面结构很多东西都是绕来绕去的,如果没有问题解决的积累是不会有进步的,虽然这样的代码出现几率比较小。
不过话说回来,看汇编才是硬道理
很多平台移植性的问题都出在类似这样的代码,不同编译器结果不一样,这个代码如果扩充一下的话16位和32位机器就会有溢出上的错误。小问题多了,移植也就不现实了。最重要的是c标准很多东西并未明确定义,而现今几乎所有的其他语言都是构建在c之上,大多数的操作系统/应用其实也都落实到编译器不同上面。编译器灵活性一开放就会造成问题。
别的不说,你是tc和gcc比较,现在在linux上就算gcc2.95上编译通过的程序可能都和gcc3的程序在运行结果上有差异。
按这种精神走下去,你就是下一个stallman
“++j + ++j + ++j"不同编译器不同结果
- hubert_star
- 论坛版主
- 帖子: 5373
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京