>>360
> ちなみにWindowsのDLLも実行時にアドレスが解決される。
> LoadLibrary関数でDLLをロードし、
> GetProcAddressで関数へのポインタを取得する。

このLoadLibrary()とGetProcAddress()を使うDynamic Linkingは、MS用語で言うと、
Run-time Dynamic Linkingだよね。今まで話していたのとちょっと内容が違うかも。

話していたのは、OS Xのdylibについてで、MS用語でLoad-time Dynamic Linking、
つまり、WinのImport Libraryを使ってDynamic Linkingするのに相当するやつ。
そのときどのように解決されていないシンボルをアドレスに変換するかを話してたんだけど、
>>359 のようにやっているらしい。WinはこのへんMSDNで公開されていたっけ?

あと、Winはどちらも.dll、Linuxとかはどちらも.soっていうけど
Darwinでは、.dylib(MH_DYLIB)っていうShared Libraryと、
.so(もしくは.bundle)(MH_BUNDLE)っていうLoadable Moduleっていう2種類がある。
この違いは、
fink.sourceforge.net/doc/porting/shared.php#lib-and-mod
にちょこっと書いてある。
それとDarwin(他のUnixも)もdlopen(),dlsym()で、WinのLoadLibrary()とGetProcAddressと同じことができるね。