ライブラリ
まとめきれていない部分もあるかもしれないが、
とりあえず現時点でライブラリについて分かったことを記す。
名称 | 動的ライブラリ | 静的ライブラリ |
方式 | アーリーバインディング (事前バインディングとも) |
|
Windows | *.dll(*1) (DLL・ダイナミック リンキングライブラリ) |
*.lib(*2) (スタティックライブラリ) |
Linux | *.so (共有ライブラリ) |
*.a (スタティックライブラリ) |
(*1)
暗黙的なリンク | ・インポートライブラリ(*.lib)を使用。 (拡張子がスタティックライブラリと被ってる) ・__declspec(dllexport)を使用。 |
明示的なリンク | win32apiのLoadLibrary,GetProcAddress,FreeLibraryを使用。 |
また、プロジェクトの文字セットはマルチバイト文字を指定のこと。
Unicode指定だと、LoadLibrary()でエラーコード:126となる。
(*2)
たぶん、__declspec(dllexport)を使用。
・・・全体として、ライブラリ側は__declspec(dllexport)を使用、
呼び出し側は__declspec(dllimport)を使用。なのかも知れない。
Linuxの方は未確認。