一个内存分配问题的解决
给一个类中增加了一个成员变量结果导致了死机,修改了内存分配文件中的这一句:
STKTOP = ADDR(.bss)+SIZEOF(.bss); 修改为--> STKTOP = ADDR(.bss)+SIZEOF(.bss)+0x2000;
之后问题解决。
STKTOP 是给操作系统使用的变量,修改后,在bss段之后留下了0x2000的内存部分没用;
因此怀疑是编译器给bss段分配的长度实际上大于SIZEOF(.bss)
STKTOP = ADDR(.bss)+SIZEOF(.bss); 修改为--> STKTOP = ADDR(.bss)+SIZEOF(.bss)+0x2000;
之后问题解决。
STKTOP 是给操作系统使用的变量,修改后,在bss段之后留下了0x2000的内存部分没用;
因此怀疑是编译器给bss段分配的长度实际上大于SIZEOF(.bss)