欲下面的代碼轉換爲C#:C++到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 e_ident[16]; // Magic number and other info<br />
不會編譯,它說:數組大小不能在變量聲明中聲明...
什麼,沒有固定的大小數組沒有新的?
這是否正確將其映射到這一點:
Byte[] e_ident = new Byte[16]; // Magic number and other info
或將是被證明是完全錯誤的?
它不編譯,但最高的投票答案。奇怪的地方,不是嗎? – 2010-08-18 21:26:22
@Hans,這是來自記憶,這是//未經測試的旗幟。我從來沒有聲稱/假裝它編譯。它似乎是作爲一個指針工作。而且你只遲了3個小時( - : 。 – 2010-08-18 21:42:55
我知道,今天下午有點脾氣暴躁,刪掉了一堆很好的答案,編譯的東西,對不起! – 2010-08-18 21:45:43