看板 Programming 關於我們 聯絡資訊
F/W 版本 本來是 4byte, 但他取2byte 所以要轉型 原因可能是 前2byte是一個意思, 後2byte是另一個意思 譬如說 major number 與 minor number 之類的 這個要查一下 SPEC typedef struct _EFI_SYSTEM_TABLE { EFI_TABLE_HEADER Hdr; CHAR16 *FirmwareVendor; UINT32 FirmwareRevision; EFI_HANDLE ConsoleInHandle; SIMPLE_INPUT_INTERFACE *ConIn; EFI_HANDLE ConsoleOutHandle; SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut; EFI_HANDLE StandardErrorHandle; SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr; EFI_RUNTIME_SERVICES *RuntimeServices; EFI_BOOT_SERVICES *BootServices; UINTN NumberOfTableEntries; EFI_CONFIGURATION_TABLE *ConfigurationTable; } EFI_SYSTEM_TABLE; ※ 引述《lordking (卡多)》之銘言: : 剛剛進入EFI領域 有些許語法都與C參考書寫法不同 : 想請問一下 下列片段程式碼意義 : if (pST->FirmwareRevision) : InitString( : HiiHandle,STRING_TOKEN(ABC), : L"%d.%d.%d.%d", : ((UINT16*)&pST->FirmwareRevision)[1], : ^^^^^^^^^^^^^^^^ 應該如何解讀?? : *(UINT16*)&pST->FirmwareRevision / 100, : ^^^^^^^^^^^^^^^^應該如何解讀?? : *(UINT16*)&pST->FirmwareRevision % 100 / 10, : *(UINT16*)&pST->FirmwareRevision % 10 : 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.235.8