2010-05-27 7 views
0

Supposons que je donne les résultats suivants:accès en-tête section Elf Table

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 

Pourquoi ne pas me pointer la ligne ci-dessus au début de la table d'en-tête de la section? Comment pointer vers le début de la table d'en-tête de section?

Répondre

0

Les deux types de caractères auront une priorité plus élevée que l'addition, donc vous ajouterez à un Elf_Section_Header * en utilisant un arithmétique de pointeur. Vraisemblablement vous voulez:

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

Questions connexes