0
为什么elf的入口点是0x8048320.
从This问题来看,它是操作系统内核用来映射进程的虚拟地址。但,进程映射(在x86处理器中)的虚拟地址为0xc0000000
(用户空间较低,3GB,内核空间较高,1GB)。现在这个0x8048320起点地址背后的理论是什么。它不应该是0c0000000h
??elf可执行文件头的入口点
问候,
为什么elf的入口点是0x8048320.
从This问题来看,它是操作系统内核用来映射进程的虚拟地址。但,进程映射(在x86处理器中)的虚拟地址为0xc0000000
(用户空间较低,3GB,内核空间较高,1GB)。现在这个0x8048320起点地址背后的理论是什么。它不应该是0c0000000h
??elf可执行文件头的入口点
问候,
的切入点不是可执行文件的映射的开始。这是程序启动时将运行的第一条指令的地址。因此,它通常位于.text
部分的中间。
如果使用GCC或兼容的编译器,它将是libc
中函数_start
的地址。这是最终会调用你的main()
的函数。
从你的榜样,0x8048320
的基址可能会0x8000000
和_start
偏移会0x48320
。
在我的机器,但是:
$ readelf -h /usr/bin/ls | grep Entry
Entry point address: 0x404030
所有这些虚拟地址通常是到编译器和/或连接。
elf header的入口点:'readelf -h a.out' – Aimal
[为什么我的可执行文件中的入口点地址是0x8048330(0x330被偏移的.text节)](https://stackoverflow.com /问题/ 12488010 /为什么最入门点地址中,我的可执行-IS-0x8048330-0x330感-偏移的) –