「ライブラリの基礎 - DLLの作成(C/C++/MFC)」の版間の差分

ナビゲーションに移動 検索に移動
(Wiki がページ「DLLを作成する(C/C++/MFC)」を「ライブラリの基礎 - DLLの作成(C/C++/MFC)」に、リダイレクトを残さずに移動しました)
7行目: 7行目:
== DLLの作成方法(defファイルを作成する) ==
== DLLの作成方法(defファイルを作成する) ==
defファイルを作成する方法を記載する。<br>
defファイルを作成する方法を記載する。<br>
<span style="color:#C00000">'''※C++でDLLを作成する場合は、defファイルを作成する方法を強く推奨する。'''</span><br>
<br>
<br>
defファイルを作成しない方法では、DLLの関数をエクスポートするために"__declspec"キーワードを使用したが、関数のエクスポートは"defファイル"を利用することでも可能である。<br>
defファイルとは、DLLがエクスポートする関数を記述したファイルのことである。<br>
"defファイル"によるエクスポートを採用した場合、 エクスポート関数名にキーワードを付ける必要は無い。<br>
[ソリューションエクスプローラ]を右クリック - [追加] - [新しい項目]を選択して、[新しい項目の追加]ダイアログにて"<ファイル名>.def"を追加すると、defファイルが作成される。<br>
<br>
<br>
'''※ C#等で作成したEXEまたはDLLからMFC DLLを呼び出す場合、MFC DLLでは”defファイル”を使用すること'''<br>
<span style="color:#C00000"><u>※ C++でDLLを作成する場合は、defファイルを作成する方法を強く推奨する。</u></span><br>
'''※ defファイルとは、DLLがエクスポートする関数を記述したファイルのことである。'''<br>
'''  [追加]→[新しい項目]を押下して、[新しい項目の追加]ダイアログにて”xxx.def”を追加するとdefファイルが作成される。'''<br>
<br>
<br>
[プロジェクト]メニューの[プロパティ]を押下して、プロパティダイアログを表示する。<br>
[プロジェクト]メニューバー - [プロパティ]を選択して、[プロパティ]ダイアログを表示する。<br>
プロパティダイアログの[リンカー][入力][モジュール定義ファイル]に使用するdefファイルの名前を記述する。<br>
[プロパティ]ダイアログの[リンカー] - [入力] - [モジュール定義ファイル]項目に使用するdefファイル名を記述する。<br>
[[ファイル:MFC DLL 01.png|フレームなし|中央]]
[[ファイル:MFC DLL 01.png|フレームなし|中央]]
<br>
<u>※注意</u><br>
<u>C#で作成したモジュール(EXEまたはDLL)からMFC DLLを呼び出す場合、MFC DLLではdefファイルを使用すること。</u><br>
<br>
<br>
defファイルを作成して、以下のようにエクスポートしたい関数を記載する。<br>
defファイルを作成して、以下のようにエクスポートしたい関数を記載する。<br>
32行目: 32行目:
<br>
<br>
次に、"MainDLL.h"ファイルは以下のように記載する。<br>
次に、"MainDLL.h"ファイルは以下のように記載する。<br>
defファイルによるエクスポートを採用した場合、 エクスポート関数名にキーワードを付ける必要は無い。<br>
  <source lang="c++">
  <source lang="c++">
  MainDLL.h
  MainDLL.h

案内メニュー