VC编译器的问题
来源:互联网 发布:淘宝银色喷漆 编辑:程序博客网 时间:2024/05/11 03:52
#include <stdio.h>
int main()
{
int i=1,m;
m=(++i)+(++i)+(++i);
printf("%d %d/n",m,i);
return 0;
}
编译以上代码后,你会惊奇的发现输出的m值竟然不是你所预料的
使用OD调试后可以发现
00401000 /$ 6A 05 push 5 ; /<%d> = 5
00401002 |. 6A 14 push 14 ; |<%d> = 14 (20.)
00401004 |. 68 F4204000 push 004020F4 ; |format = "%d %d",LF,""
00401009 |. FF15 A0204000 call dword ptr [<&MSVCR90.printf>] ; /printf
0040100F |. 83C4 0C add esp, 0C
00401012 |. 33C0 xor eax, eax
00401014 /. C3 retn
编译器已经将错误的值写入了文件,因此会得到不可思议的结果
int main()
{
int i=1,m;
m=(++i)+(++i)+(++i);
printf("%d %d/n",m,i);
return 0;
}
编译以上代码后,你会惊奇的发现输出的m值竟然不是你所预料的
使用OD调试后可以发现
00401000 /$ 6A 05 push 5 ; /<%d> = 5
00401002 |. 6A 14 push 14 ; |<%d> = 14 (20.)
00401004 |. 68 F4204000 push 004020F4 ; |format = "%d %d",LF,""
00401009 |. FF15 A0204000 call dword ptr [<&MSVCR90.printf>] ; /printf
0040100F |. 83C4 0C add esp, 0C
00401012 |. 33C0 xor eax, eax
00401014 /. C3 retn
编译器已经将错误的值写入了文件,因此会得到不可思议的结果
- VC编译器的问题
- 修改vc编译器不支持stdint.h、inttypes.h的问题
- VC编译器与GCC编译器的区别
- vc编译器的一个bug
- New的VC编译器实现
- VC的编译器及命令
- New的VC编译器实现
- VC编译器
- VC编译器
- 编译器的优化问题
- GCC编译器的问题
- MATLAB的编译器问题
- 编译器的优化问题
- 关于编译器的问题
- 栈变量被覆盖的问题在不同编译器中的表现,蛋疼的VC++
- VC与DEV编译器关于ifstream的文本反复读取问题存在的不同
- Eclipse X64版本下使用VS2010的VC编译器,库路径设置问题
- VC编译器和C#编译器的速度差异很大!!!
- [VB.NET]高分:求一个在vb.net2005中用ado.net读取excel文件并将其导入到Acess的示例!
- [VB.NET]请问如何在datagridview中插入button
- 如果我不买你们公司的软件
- 《Linux内核完全剖析-基于0.12内核》书评之陈莉君
- [VB.NET]想从VF转VB.NET 各位推荐基本教材
- VC编译器的问题
- 关于js继承---Base类的源码解析
- [VB.NET]如何定位读取二进制文件,每次只读取指定长度?
- Reading Excel files using ODBC
- [VB.NET]QQ截图矩形右边的信息显示怎么实现?
- [VB.NET]请问有什么办法把一个自定义控件添加到comboBox的下拉框中去呢?
- [VB.NET]再问关于“生成单个应用程序实例”的问题
- 使用JSON的方法
- [VB.NET]序列化的问题