「新しいプロジェクト -> Visual C++ -> Win32 コンソール アプリケーション」を選択し,任意のプロジェクト名を入力し,次へ。「アプリケーションの選択 -> アプリケーションの種類」で,"コンソールアプリケーション"を選択して完了をクリック。
*.dllファイルの利用には4手順必要である。
- dllの呼び出し:LoadLibrary
- 関数の取得:GetProcAddress
- 関数の利用:
- dllの解放:FreeLibrary
前回作成した"HelloWorld_Dll.dll"を利用するプログラムを書く。まず,"HelloWorld_Dll.dll"をソースファイルと同じフォルダに置く,簡単のため。次に,以下の"SayHelloWorld.cpp"に以下のプログラムを書く。
#include "stdafx.h" #include "windows.h" #includeusing namespace std; int _tmain(int argc, _TCHAR* argv[]) { HINSTANCE hDLL; int(*func)(int); if ((hDLL = LoadLibrary(_T("HelloWorld_Dll.dll"))) == NULL) { cout << "LoadLibrary is failed." << endl; } else { if ((func = (int(*)(int))GetProcAddress(hDLL, "HelloWorld")) == NULL) else func(1); FreeLibrary(hDLL); } return 0; }
実行すると,右のような結果が返ってきます。
今回作成したプロジェクト⇒■
次は,クラスを含んだdllファイルと引数の受け渡しなどをやってみようと思います。
参考にしたサイト
--
[インスタンスハンドル]について
ほとんど全く
ゼロ からはじめる Windows Programming
http://hp.vector.co.jp/authors/VA029438/level4/about/HINSTANCE.htmlhttp://miraiware.net/memo/cpp-hinstance.html
[LoadLibrary]について
HM-LAB
http://www.hm-lab.net/archives/269
近藤妥のC言語で始めるWindowsプログラミング
http://web.kyoto-inet.or.jp/people/ysskondo/chap12.html
0 件のコメント:
コメントを投稿