MinGW g++ を使った共有ライブラリ(DLL)の作成方法と動的リンクについて紹介します。動的リンクとは、実行時に実行ファイルとライブラリをリンクすることです。また、動的リンクには明示的リンクと暗黙的リンクがあり、明示的リンクでは DLL を呼び出す関数の中で DLL のファイル名を指定しますが、暗黙的リンクでは指定しません。 共有ライブラリ(DLL)の作成 まず、下記のように example.cpp を作成します。 example.cpp extern "C" __declspec(dllexport) int __stdcall add(int x, int y) { return x + y; } extern "C" __declspec(dllexport) int __stdcall mul(int x, int y) { return x * y; } 注)__decls
DLLロードの仕方には、静的リンク(暗黙的)と動的リンクがあります。 このページでは静的リンクについて記述します。 リンカーでリンクするときにLIBファイルを指定して関数とDLLファイル名とを関連付けした情報を実行ファイルに埋め込みます。 DLLはプログラム(プロセス)が開始した時点で自動的に読み込まれます。 DLLを呼び出す側は関数のプロトタイプ宣言とLIBファイルの指定(コンパイラオプションでの指定または#pragma)のみで通常の関数の様に使えます。 動的リンク プログラマが明示的にDLLファイルのロード・解放および関数へのエントリーポイントの取得および関数の実行を行います。 動的リンクの場合、プログラムの実行時においてロードするDLLファイルを変えられます。 またDLLを読み込むタイミングはプログラマー任せです。 LIBファイル・ヘッダーファイルのないDLLに使用できます。 コンパ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く