2
如何包裝Elf32_Ehdr
和Elf64_Ehdr
以便在64位體系結構Elf64_Ehdr
和Elf32_Ehdr
上使用32位?使用<elf.h>需要幫助
如何包裝Elf32_Ehdr
和Elf64_Ehdr
以便在64位體系結構Elf64_Ehdr
和Elf32_Ehdr
上使用32位?使用<elf.h>需要幫助
#include <stdint.h>
#include <elf.h>
#if UINTPTR_MAX == 0xffffffff
#define Elf_Ehdr Elf32_Ehdr
#define Elf_Phdr Elf32_Phdr
#else
#define Elf_Ehdr Elf64_Ehdr
#define Elf_Phdr Elf64_Phdr
#endif
爲什麼這是錯的? 'void * p; .. initilize p omited ..p =(Elf32_Ehdr *)p;',當我嘗試引用'p-> e_ident'時,得到了一個警告:'warning:dereferencing'void *'pointer'。爲什麼演員不工作? –
聲明'p =(Elf32_Ehdr *)p;'完全沒有任何操作。它將'p'的值轉換爲'Elf32_Ehdr *'類型的表達式,然後將結果賦給'p',後者隱式轉換回'void *'類型。 –
爲了將'void *'作爲'Elf32_Ehdr *'使用,我錯了? –