问题 why when i debug asm source in gdb is 0x8048080 the address chosen for the starting entry point into code? this is just a relative offset, not an actual offset of into memory of an instruction, correct? 回答1: There is no special significance to address 0x8048080 , but there is one for address 0x08048000 . The latter address is the default address, on which ld starts the first PT_LOAD segment on Linux/x86. On Linux/x86_64, the default is 0x400000 , and you can change the default by using a