学习汇编的原因(了解程序真正的原理)
2011-05-31 06:59
471 查看
本人学过接触第一份语言就是C,印象中感觉良好。最近一个朋友问我个问题:
main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
应该是道课后作业题。问q为多少 我算了下:q=6+7+8=21啊 可人家说结果不对是22。
绝望。我在tc下运行。正确啊。但在VC6.0下确实不正确。纠结了。不知道神马原因。问一个C资深的朋友他说你在汇编下运行看看(7+7+8)。VC自己把语句优化了啊。。由此联想到经常遇到莫名的结果。一直认为编译器的结果。也就不了了之。看了不仅要知其然也要知其所以然。故准备学习下 汇编。最起码要有个了解。
main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
应该是道课后作业题。问q为多少 我算了下:q=6+7+8=21啊 可人家说结果不对是22。
绝望。我在tc下运行。正确啊。但在VC6.0下确实不正确。纠结了。不知道神马原因。问一个C资深的朋友他说你在汇编下运行看看(7+7+8)。VC自己把语句优化了啊。。由此联想到经常遇到莫名的结果。一直认为编译器的结果。也就不了了之。看了不仅要知其然也要知其所以然。故准备学习下 汇编。最起码要有个了解。
相关文章推荐
- RunLoop学习笔记,从CF层面了解由于CFRunLoopMode机制iOS程序ScrollView的滑动为何如此平滑的原因。还有介绍AFNetworking如何单独发起一个global threa
- 一步步学习汇编系列(6)-从一个简单的程序谈编译,连接,执行,跟踪的原理
- 汇编学习(六)——代码转换程序
- HDFS原理了解 (学习笔记)
- 汇编语言(王爽)》(第九章、实验8分析一个奇怪的程序)学习笔记
- 转移指令的原理03 - 零基础入门学习汇编语言45
- 汇编语言学习记录--第一个汇编程序
- ARM学习笔记11——GNU ARM汇编程序设计
- 编译原理学习笔记10——(野火烧不尽再递归下降—— E → E+T | T从上向下程序)——2014_1_26
- 【好程序员训练营学习笔记分享6】带你真正了解负数补码的计算
- 包含多个段的程序03 - 零基础入门学习汇编语言31
- 程序_通过汇编了解程序的实际构成
- 通过汇编学习程序布局
- 逆向工程核心原理学习笔记(一):寻找程序的主函数(Main)
- 汇编语言学习--包含多段的程序
- 汇编语言学习笔记(6)——包含多个段的程序
- 我的php学习笔记(十三)PHP小偷程序原理和实例
- PJSIP学习笔记——从simple_pjsua.c示例程序了解PJSUA-LIB的基本使用流程
- Android 进阶学习:Android LayoutInflater原理分析,带你一步步深入了解View(一)
- 4 MySQL程序概述(包含mysql配置文件配置原理)-学习笔记