作者littleshan (我要加入剑道社!)
看板GameDesign
标题Re: [程式] 记忆体的问题
时间Mon Aug 20 19:16:09 2007
※ 引述《jasonlurey (我要冰生脾酒!!!!)》之铭言:
: 我来献丑 可能有误
: 在embedded system中 (PC desktop是不是这样我不确定)
: 对C而言 记忆体会分成stack和heap这两种东西
: stack只能push/pop, 通常是用来放local variables
: heap可以随你抽插 (请别西斯), 通常会放static/global variables
请问 embedded system 上是「只」会分 stack 和 heap 吗?
在 x86 PC 上面还会有一块 data segment
而 static/global 是放在 data segment 上
而它们的位址是 compile/link 的时候就已经确定好
heap 只会给 dynamic allocate 出来的变数使用
它们的位址要到 runtime 才决定
像是 XBox 360、PS3、Wii 之类的游戏主机
虽然 CPU 指令集不一样,但因为速度和记忆体大小接近
在这方面的架构应该会和 x86 PC 类似
至於 NDSL 或 PSP 这类就比较偏向 embedded system 了...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.3.35