Ответ 1
-
.rdata
- для данных const. Это версия только для чтения сегмента.data. -
.idata
содержит.idata
импорта (.edata для экспорта). Он используется EXE и DLL для обозначения импортированных и экспортируемых функций. Подробнее см. Спецификацию формата PE (http://msdn.microsoft.com/library/windows/hardware/gg463125).
Обобщая типичные названия сегментов:
.text: Code
.data: Initialized data
.bss: Uninitialized data
.rdata: Const/read-only (and initialized) data
.edata: Export descriptors
.idata: Import descriptors
.reloc: Relocation table (for code instructions with absolute addressing when
the module could not be loaded at its preferred base address)
.rsrc: Resources (icon, bitmap, dialog, ...)
.tls: __declspec(thread) data (Fails with dynamically loaded DLLs -> hard to find bugs)
Как упоминает Мартин Розенау, названия сегментов являются типичными. Истинный тип сегмента указывается в заголовке сегмента или определяется использованием данных, хранящихся в сегменте.