C++Builder での DLL の作成
パッケージと DLL の作成 への移動
C++Builder での DLL の作成方法は、標準の C++ の場合と同じです。
- [ファイル|新規作成|その他...]を選択して[新規作成]ダイアログ ボックスを表示します。
- DLL ウィザード アイコンをダブルクリックします。
- メイン モジュールの[ソースの種類]([C]または[C++])を選択します。
- DLL のエントリ ポイントを MSVC++ スタイルで DllMain にする場合には、[VC++ スタイルの DLL]オプションをオンにします。オンにしなければ、DllEntryPoint がエントリ ポイントに使われます。
- DLL をマルチスレッド対応にするには、[マルチスレッド]オプションをオンにします。
- [OK]をクリックします。
コード内のエクスポート対象の関数は、Embarcadero C++ や Microsoft Visual C++ で決められているとおり、__declspec(dllexport)
修飾子を付けて特定する必要があります。
たとえば以下のコードは、C++Builder などの Windows C++ コンパイラで有効です。
// MyDLL.cpp
double dblValue(double);
double halfValue(double);
extern "C" __declspec(dllexport) double changeValue(double, bool);
double dblValue(double value) {
return value * value;
};
double halfValue(double value) {
return value / 2.0;
}
double changeValue(double value, bool whichOp) {
return whichOp ? dblValue(value) : halfValue(value);
}
このコードでは、関数 changeValue がエクスポートされ、呼び出し側のアプリケーションから使用できるようになっています。dblValue および halfValue は内部関数なので、DLL 外から呼び出すことはできません。
DLL の作成方法の詳細は、Win32 MSDK リファレンスを参照してください。