fork download
  1. #include <stdio.h>
  2.  
  3. /* 32-bit ELF base types. */
  4. typedef unsigned int Elf32_Addr;
  5. typedef unsigned short Elf32_Half;
  6. typedef unsigned int Elf32_Off;
  7. typedef signed int Elf32_Sword;
  8. typedef unsigned int Elf32_Word;
  9.  
  10. /* 64-bit ELF base types. */
  11. typedef unsigned long long Elf64_Addr;
  12. typedef unsigned short Elf64_Half;
  13. typedef signed short Elf64_SHalf;
  14. typedef unsigned long long Elf64_Off;
  15. typedef signed int Elf64_Sword;
  16. typedef unsigned int Elf64_Word;
  17. typedef unsigned long long Elf64_Xword;
  18. typedef signed long long Elf64_Sxword;
  19.  
  20. #define EI_NIDENT 16
  21.  
  22. typedef struct {
  23. unsigned char e_ident[EI_NIDENT];
  24. Elf32_Half e_type;
  25. Elf32_Half e_machine;
  26. Elf32_Word e_version;
  27. Elf32_Addr e_entry;
  28. Elf32_Off e_phoff;
  29. Elf32_Off e_shoff;
  30. Elf32_Word e_flags;
  31. Elf32_Half e_ehsize;
  32. Elf32_Half e_phentsize;
  33. Elf32_Half e_phnum;
  34. Elf32_Half e_shentsize;
  35. Elf32_Half e_shnum;
  36. Elf32_Half e_shstrndx;
  37. } Elf32_Ehdr;
  38.  
  39. typedef struct {
  40. unsigned char e_ident[EI_NIDENT];
  41. Elf64_Half e_type;
  42. Elf64_Half e_machine;
  43. Elf64_Word e_version;
  44. Elf64_Addr e_entry;
  45. Elf64_Off e_phoff;
  46. Elf64_Off e_shoff;
  47. Elf64_Word e_flags;
  48. Elf64_Half e_ehsize;
  49. Elf64_Half e_phentsize;
  50. Elf64_Half e_phnum;
  51. Elf64_Half e_shentsize;
  52. Elf64_Half e_shnum;
  53. Elf64_Half e_shstrndx;
  54. } Elf64_Ehdr;
  55.  
  56.  
  57. int main(void) {
  58. // your code goes here
  59. printf("sizeof: %i\n", sizeof Elf32_Ehdr);
  60.  
  61. return 0;
  62. }
  63.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function ‘main’:
prog.c:59:32: error: expected expression before ‘Elf32_Ehdr’
  printf("sizeof: %i\n", sizeof Elf32_Ehdr);
                                ^~~~~~~~~~
stdout
Standard output is empty