Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hello_UEFI_で学ぶC言語ポインタ.pdf

VTb
December 07, 2018
130

 Hello_UEFI_で学ぶC言語ポインタ.pdf

VTb

December 07, 2018
Tweet

Transcript

  1. UEFI(Unified Extensible Firmware Interface)とは? • OS層とハードウェア層間でのインター フェースを定義する規格 • レガシーなBIOSの置き換えを目的とした UEFI

    BIOSが有名 要するに、 • ハードウェアの差異を吸収していい感じに OSを動かすためのソフトウェア https://ja.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface より
  2. 画面描画をしよう • addrが計算されたアドレス • 1バイトの変数型UINT8でポインタ変数mem_arrayを宣言し、初期化時のアドレスとして addrを代 入する • mem_arrayに対して[]を利用して順番にRGBの色を代入していく •

    mem_array[0]のアドレスはaddr (&mem_array[0] == addr) • mem_array[1]のアドレスはaddr+1 (&mem_array[1] == addr+1) • mem_array[2]のアドレスはaddr+2 (&mem_array[2] == addr+2)
  3. SLを移植しよう • 文字列を格納するためにchar *型の配列を用意し代入している • “Hello UEFI”のような文字列はchar *型(const char *型)で文字列の先頭番地を指

    し示す。 • ‘A’のような単一文字はchar型(文字コードを指し示す) • char* hoge[5] だと、hoge[0]やhoge[4]はchar *型、hogeはchar **型