スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)
付録E.1 ダイナミックリンクライブラリの作成方法
UOCのコーディングが完了した後,ダイナミックリンクライブラリを作成します。作成したダイナミックリンクライブラリは,呼び出す関数と一緒に,pdload又はpdrorgの制御文に指定します。
「Microsoft Visual C++ 4.2」を使用して作成する例を,次に示します。
(a) モジュール定義ファイル(.def)の作成
- pdload又はpdrorgからコールする,DLL内の関数をエクスポートするためのファイルを作成します。DLL名がsample1.dll,関数名がdate_change_funcの場合のファイルの作成例を次に示します。
sample1.def
EXPORTS
date_change_func
(b) DLLの作成
- Microsoft Visual C++グループ内のMicrosoft Developer Studioを起動し,[ファイル]−[新規作成]で種類「プロジェクトワークスペース」,タイプ「Dynamic- Link Library」を選択します。
- [挿入]−[プロジェクトへファイルの追加]を選択し,UOCのソースファイル(.c)と1.で作成したモジュール定義ファイル(.def)を追加します。
- UOCインタフェース領域や記号定数を宣言したUOC作成用ヘッダファイル(pdutluoc.h)を引き込む場合は,%PDDIR%\includeをインクルードファイルのパスに設定します。設定方法は,[ビルド]−[設定]−[C/C++]−[プリプロセッサ]−[インクルードファイルのパス]に記述します。
- 「ビルド」を選択し,DLLのビルドを実行します。この場合,インポートライブラリ(.lib)とエクスポートライブラリファイル(.exp)も作成されていることを確認してください。
- 作成するDLLのベースアドレス(デフォルト・ロード・アドレス)は指定しないでください。指定した場合,HiRDBやシステムのDLLと,アドレスが競合して,DLLのローディング処理に負荷が掛かることがあります。
- Microsoft Visual C++のバージョンは4.0以上を使用してください。
- 作成するDLLの呼び出し規約は_cdeclを使用してください(_cdeclは,CとC++プログラミングではデフォルトの呼び出し規約です)。
- 使用するMicrosoft Visual C++ランタイムライブラリは,マルチスレッドDLL版(/MD)でなければなりません。それ以外のライブラリを使用すると,領域管理の処理が不正となり,サーバプロセスが異常終了するおそれがあります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.