後長地址我寫在NASM(Linux)的一個簡單的小程序:objdump的表示鏈接
使用命令nasm -f elf32 -o file.o file.asm
以生成目標文件。
當使用objdump -M intel -d file.o
我得到這樣的結果:
我看到,objdump
顯示的地址是合理的,但是當我做了編譯,生成與該命令ld -m elf_i386 -o executable file.o
可執行代碼;我得到通過使用objdump的上的可執行文件followwing結果:
問題:
- 爲什麼地址成了這漫長的,雖然,可執行文件非常小(500個字節最)。
- 關於地址指向什麼,我相信它沒有指向內存,因爲程序還沒有收費。
- 他們是相對還是絕對地址?如果相對,那麼相對於什麼?如果是絕對的,它們怎麼可能是絕對的,程序還沒有在內存中被收費。
如果這個問題對於你們中的一些人來說似乎很愚蠢,我真的很抱歉,但是我真的需要明白這一點,這對我的項目會有很大的幫助。
我以爲Linux使用相對地址!如果我對這兩個具有這些地址的節目收費,他們會在哪裏? – Sidahmed