What's the memory before 0x08048000 used for in 32 bit machine?

前端 未结 4 2022
时光说笑
时光说笑 2020-12-05 00:38

In Linux, I learned that every process stores data starting at 0x08048000 in 32 bit machine (and 0x00400000 in 64 bit machine).

But I don\'t know the reason why star

4条回答
  •  不知归路
    2020-12-05 01:23

    Typical Load Map for x86 for 32 bit Small static app looks like :

     Address     Contents
    
     0x08048000  code
     0x08052000  data
     0x0805A000  bss (zero data)
     0x08072000  end of data (brk marker)
     0xBFFFE000  stack
    

    All this being in reverse - stack being on top and moving down while data moving up. My guess is the address before 0x08048000 are statically linked something similar to the MBR per OS.

提交回复
热议问题