先日試作したPythonでDLLをロードして実行可能にするスクリプトでは、FileMappingは使わずにダイレクトにメモリ上にDLLのファイルデータをコピーした。 現実のOSによるロードでは、FileMappingを使ってロードしているはず。 でふと疑問に思ったのが、IATや再配置情報など実行時に書き換える部分。 これはプロセス毎に変わる可能性があるし、環境によって変動する。ので、ファイル内容を書き換えるわけにはいかない。 では、どういうフラグや属性を使ってFileMappingしてるのか?が・・・謎に思えてきた。 そこだけCopy on Writeみたいな仕組みにしてるのかな? これも調べておきたいな。