目的
Windowsには、DLLという仕組みがあります。DLLはDynamic Linking Libraryの略で、名前の通りプログラム実行時に動的にリンクされるライブラリです。ライブラリはプログラムの部品です。
Windowsプログラムの動作の仕組みや、プログラム解析の本を読んでいると、プログラムがDLLをどのように利用するかが書いてある章がだいたい存在します。
概ね2つの方法があって、1つ目はプログラムの起動時に、そのプログラムのヘッダに書いてあるインポートテーブルを参照してローダがDLLをメモリに読み込んでリンクする方法、もう1つの方法がWindows APIの「LoadLibrary」「GetProcAddress」を使ってプログラムの実行中に必要なタイミングでDLLをメモリに読み込みこんでリンクする方法です。
して、前者を「ロードタイムダイナミックリンキング(Load-Time Dynamic Linking)」、後者を「ランタイムダイナミックリンキング(Run-Time Dynamic Linking)」と呼ぶらしい。
DLLの利用方法については本やネットで説明されていることが多いが、DLLの利用方法の名前が書いてあることはほとんどないので、このブログ記事にメモっとこうと思います。