请教堆问题
对于LPC21XX的startup.s中AREA Heap, DATA, NOINIT
bottom_of_heap SPACE 1
AREA StackBottom, DATA, NOINIT
bottom_of_Stacks SPACE 1
AREA HeapTop, DATA, NOINIT
top_of_heap
AREA Stacks, DATA, NOINIT
StackUsr
//-------------------------------------------------
为什么,有些AREA有分配字节空间,有时AREA却没有呢.
下面这个AREA分配了空间
AREA Heap, DATA, NOINIT
bottom_of_heap SPACE 1
这里分配了一个空间.
而下面这里却没有分配空间
AREA HeapTop, DATA, NOINIT
top_of_heap
麻烦帮忙解答一下,谢谢. 个人理解:
上面是说在 AREA Heap, DATA, NOINIT 这个segment里面占了一个字节的位置留给heap。
下面是说在刚才占位的地方放一个地址标号(top_of_heap),下回你通过这个地址标号就可以访问这个预留的堆空间了。 1楼,谢谢你的回答,
上面是说在 AREA Heap, DATA, NOINIT 这个segment里面占了一个字节的位置留给heap。
----没错,是这样的.
下面是说在刚才占位的地方放一个地址标号(top_of_heap),下回你通过这个地址标号就可以访问这个预留的堆空间了。
----刚才占位的地方,是Heap的一个字节吗?
但好像是分开的,
AREA StackBottom, DATA, NOINIT
bottom_of_Stacks SPACE 1
这里StackBottom也占了一个字节的空间.
那么Heap和top_of_heap就没连续了.
-------------------------------------
如果全部AREA全部定义为占一个字节空间
AREA XXXX, DATA, NOINIT
LABLESPACE 1
跟没定义字节空间,
AREA XXXX, DATA, NOINIT
LABLE
这两个有什么差别吗?
页:
[1]