凌云窟
南山巅上火麟烈,北海潜深雪饮寒。可怜两锋未缘见,雪刀封隐孤剑鸣。
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

留言簿(0)

随笔分类

随笔档案

文章档案

相册

简历下载

搜索

最新评论

  • 1. re: 很遗憾,minix的阅读计划被我取消了
  • 你可以去死了。
  • --smartly
  • 2. re: 透明文本、位图的实现方案
  • 双缓冲的确不是画在父窗口,之所以透明,是因为内存dc背景为父窗口背景.
  • --yaowei
  • 3. re: 终于启动minix源代码阅读计划了!
  • 我基本上把MINIX3主要的东西看完了。我的BLOG上有两篇文章是关于MINIX3的。有空可以交流。
    http://jnxnj.spaces.live.com
  • --k
  • 4. re: 很遗憾,minix的阅读计划被我取消了
  • 如果是迫于工作压力可以理解,一个人的精力毕竟有限。学MINIX关键是学其中的思想。MINIX3当然没有LINUX成熟,minix3 连分页都没有,关于线程的概念也没有,等等。但是,将MINIX3作为微内核的代表来看,你会发现学了是一个不小的收获。
  • --k
  • 5. 欢迎交流minix3
  • 我在chinaunix上的BLOG
    devahb.cublog.cn
  • --JEFF
  • 6. re: 构造函数调用虚函数追踪
  • vc资料站:http://www.vcmsdn.com/     对学习很有帮助的,可以上去

    看看,或加群46138350,里面有高手可以请教的。
  • --maggie
  • 7. re: x86是满递减堆栈还是空递减堆栈?
  • vc资料站:http://www.vcmsdn.com/     对学习很有帮助的,可以上去

    看看,或加群46138350,里面有高手可以请教的。
  • --maggie
  • 8. re: x86是满递减堆栈还是空递减堆栈?
  • x8086汇编基础课程中的push/pop,有详细介绍。。。。
    注:debug/release下的对应汇编有的存在差异(eg:switch/call),用release中的listfile输出.asm文件~
  • --windowssky
  • 9. re: 构造函数调用虚函数追踪
  • 赞同你的意见,当时这么想是因为看过一本书,那里说在构造函数就要设置好虚函数表,所以自然就想在构造函数中既然虚函数表已经设定好了,那有可能调用虚函数是通过虚函数表来调用哦。
    当然,事实证明这种说法是错的!原因正如你所说。
  • --莫问春秋
  • 10. 没人灌,那我灌吧
  • 虚函数表的作用是什么?
    因为对象的动态类型是什么,必须到运行时才知道,也就是只有到运行到那一步时,才知道应该实际调用哪个virtual函数。

    但在构造函数中,需要到运行时才能知道吗?它本身的类型就是其动态类型,所以根本不需要去查虚函数表。
  • --周星星

阅读排行榜

评论排行榜

 
VC知识库BLOG   首页  新随笔  联系  聚合  登录 
  随笔-22 文章-0 评论-36 Trackbacks-0
     所谓满递减堆栈是指堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。空递减堆栈是指堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空位置。
     那么x86是属于那一种呢?
     结论是x86的堆栈是满递减堆栈。

     我们经常遇到的堆栈操作就是函数调用时需要将函数的参数入栈,因此在调用函数的地方设置一个断点,然后查看汇编代码:

     这里Hello函数有一个默认值为9的参数.

在00401078这行代码执行后停住,然后打开vc的registers可以看到目前esp的值,这是一个内存地址。然后在Memory里面查看esp所值的内存的值,结果是刚好是9.


posted on 2007-07-14 23:17 莫问春秋 阅读(6626) 评论(9)  编辑 收藏
Comments
  • # re: x86是满递减堆栈还是空递减堆栈?
    windowssky
    Posted @ 2007-07-16 09:03
    x8086汇编基础课程中的push/pop,有详细介绍。。。。
    注:debug/release下的对应汇编有的存在差异(eg:switch/call),用release中的listfile输出.asm文件~
  • # re: x86是满递减堆栈还是空递减堆栈?
    maggie
    Posted @ 2007-09-03 15:39
    vc资料站:http://www.vcmsdn.com/     对学习很有帮助的,可以上去

    看看,或加群46138350,里面有高手可以请教的。
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]