栈空间由谁分配
今天继续学校小甲鱼的汇编视频,第六章第二节 书上说到这样一句话,栈空间应该由系统分配,思索了一下产生了一点疑问,这个系统指的是谁,windows?dos?汇编语言不是直接与硬件打交道么,中间怎么会隔着个第三者--系统类?!
问题或许略弱智,还望各位大神赐教。。。
呵呵,当然有第三者。CPU指令集,在主板上固化在芯片里,算是个系统。每个计算机没装 WINDOWS的时候是带系统的那就是这个.:P 由我先自顶,求大神抽空解答 当然是windows,小甲鱼不是说过,windows是大骗子,让你误以为直接和硬件打交道,实际只是模拟 我又凌乱了{:5_107:} 七月之变 发表于 2013-3-6 17:34 static/image/common/back.gif
当然是windows,小甲鱼不是说过,windows是大骗子,让你误以为直接和硬件打交道,实际只是模拟
你让我凌乱了{:5_107:} 在操作系统上运行的程序都由操作系统管理,操作系统让他执行了,才能执行指令。 你也在听汇编啊我昨天 一口气全听完了
对了 , 你有没有 认真的听 连DOS和 windows
都分不清楚啊
对不起 可能是说过分啦
但是 我肯定你没有听清楚
是不是老是听 小甲鱼 在说 苍井空想她呢?
系统当然是 windows 啦 DOS 是什么
算了还是你自己查查吧 那样你理解的会很深刻 你们有没有想过 栈空间到底是干什么的在软件里 程序里游戏里起到什么作用?
可有知道的?好像 小甲鱼 没有说啊
可有知道的 大哥 大姐 们说说 呗
这个 有系统的事吗 那要没系统呢 主要还是编译器吧 编译器 决定改不给你空间
编译器给你到时生成程序时 程序会占上空间 wanglihong19877 发表于 2013-3-6 21:35 static/image/common/back.gif
你也在听汇编啊我昨天 一口气全听完了
对了 , 你有没有 认真的听 连DOS和 windows
都分不清楚啊 ...
dos也是系统啊,那以前没windows的时候请问是谁来分配 不要在深究了~呵呵 以前还没有电脑这种东西呢 wanglihong19877 发表于 2013-3-6 21:35 static/image/common/back.gif
你也在听汇编啊我昨天 一口气全听完了
对了 , 你有没有 认真的听 连DOS和 windows
都分不清楚啊 ...
过目不忘啊 一口气看了 70多级~~我要是有你这脑袋~多好 本帖最后由 堕落づ天使 于 2013-3-7 00:16 编辑
总体来说 是由编译器来生成代码来分配并维护栈的 具体谁分配要看你函数类型了 比如 stdcall是函数被调用者来维护栈的
fastcall则是把前两个参数放在寄存器 被调用的函数来维护的 程序员设计,然后操作系统分配 我是来学习的 API函数调用时,windows系统自由分配内存。 wanglihong19877 发表于 2013-3-6 21:38 static/image/common/back.gif
你们有没有想过 栈空间到底是干什么的在软件里 程序里游戏里起到什么作用?
可有知道的?好像 小 ...
push和pop指令所对的内存就是栈啊,用来存放临时变量用的 你可以这样认为吧,在32位下,一个平坦4g空间,中间有这么连续的2M(好像默认2M,就不纠结了)字节空间,只供push和pop栈指令使用,仅此而已。而你可能想说,那这个空间别的指令就用不到了?因为系统有规定,所以聪明的编译器在编译时是不会主动去侵犯这段空间的,这就完事啦。其实,也就是操作方式不同而已,它终究跟别的内存没啥区别。 你觉得很难吗 不是我 脑袋好用只是我们的学习方法不一样吧
有时间可以在一起研究一下
页:
[1]