我一直在閱讀ELF標準here。據我所知,每個ELF都包含ELF標題,程序標題(爲什麼不止一個?)和節標題。任何人都可以請解釋:ELF文件 - 什麼是部分,爲什麼我們需要它?
- 如何生成ELF文件?編譯器的責任是什麼?
- 什麼是章節,爲什麼我們需要它們?
- 什麼是程序頭文件,爲什麼我們需要它們?
- 在程序頭文件中,字段p_vaddr和p_paddr的含義是什麼?
- 每個部分是否都有自己的部分標題?
或者,是否有任何人鏈接到一個更友好的ELF文檔?
我一直在閱讀ELF標準here。據我所知,每個ELF都包含ELF標題,程序標題(爲什麼不止一個?)和節標題。任何人都可以請解釋:ELF文件 - 什麼是部分,爲什麼我們需要它?
或者,是否有任何人鏈接到一個更友好的ELF文檔?
我不能評論,因爲我的代表< 50(或其他)。
這是我發現的最好的文檔:http://www.skyfree.org/linux/references/ELF_Format.pdf
2 - 有許多不同的部分,例如:重定位部分重新獲取了許多重定位符號的信息。我使用信息加載一個elf對象並運行/重定位對象。另一個例子:調試部分記錄調試信息,gdb使用顯示調試信息的數據。 符號部分記錄符號信息。
3 - 由加載器使用的編程頭,加載器通過查找編程頭來加載elf執行文件。