Я хочу преобразовать приведенный ниже код в C #:
struct Elf32_Ehdr {
uint8 e_ident[16]; // Magic number and other info
uint16 e_type; // Object file type
uint16 e_machine; // Architecture
uint32 e_version; // Object file version
uint32 e_entry; // Entry point virtual address
uint32 e_phoff; // Program header table file offset
uint32 e_shoff; // Section header table file offset
uint32 e_flags; // Processor-specific flags
uint16 e_ehsize; // ELF header size in bytes
uint16 e_phentsize; // Program header table entry size
uint16 e_phnum; // Program header table entry count
uint16 e_shentsize; // Section header table entry size
uint16 e_shnum; // Section header table entry count
uint16 e_shstrndx; // Section header string table index
};
По-видимому, он отображается на другой корпус.
uint16 -> UInt16
uint32 -> UInt32
uint64 -> UInt64
И, по-видимому, uint8 отображается в Byte.
Проблема:
Byte e_ident[16]; // Magic number and other info<br />
не компилируется, он говорит: размер массива не может быть объявлен в объявлении переменной ...
Что, без массива фиксированного размера без нового?
Это правильно, чтобы сопоставить это с:
Byte[] e_ident = new Byte[16]; // Magic number and other info
или это окажется совсем не так?