2011年1月15日土曜日

VC++:dllの呼び出し方

同じ関数をいろいろなところで使うため、その関数をdllにしてみました。が、呼び出せません(^^;
ここに、

”関数subをDLLにしたい場合,次のようにソースプログラムを作成する.外部プログラムから呼び出したい関数(この場合sub)の前に __declspec(dllexport)という おまじないをつけておく(このおまじないがついていない関数はDLL外部からは見えないので安心).”

と書いてあります。この通りにおまじないを付けて、コンパイルリンクしてdllを作り、これで出来る.libファイルを VC++のプロジェクト→プロパティ→構成プロパティ→リンカ→入力の追加の依存ファイルに追加しておけばよいようです。

使う側で関数宣言が必要になりますのでお忘れなく。またdll自体はdllを使うプロジェクトのディレクトリにコピーしておかないと実行時にdllがロード出来ないエラーとなります。環境変数PATHへ元の(dllを作った)ディレクトリを設定してもだめなようです。どうすればいいのかな?

0 件のコメント: