2010-05-27 2 views
0

Предположим, у меня есть следующие:доступа Elf раздел заголовок таблицы

Elf_FIle_Header *fileHeader //struct pointer, points to start of the Elf file header 
fileHeader->offset //byte offset from start of file to section headers 

Elf_Section_Header *sectionHeader = (Elf_Section_Header *)(char *)fileHeader + fileHeader->offset 

Почему не выше линии указывают мне на начало таблицы заголовка раздела? Как указать начало таблицы заголовков разделов?

ответ

0

Оба типа приведения будут иметь более высокий приоритет, чем дополнение, поэтому вы добавите в Elf_Section_Header *, используя арифметику указателя. Предположительно вы хотите:

Elf_Section_Header *sectionHeader = (Elf_Section_Header *)((char *)fileHeader + fileHeader->offset);

Смежные вопросы