サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
今回はDLLを作ってみましょう! いきなり色々作るのも大変なんで、今回は関数をエクスポートしたDLLを作ってみましょう。 関数を作る意味 DLLに関数を作る意味は、なんでしょう? はっきり言って意味はないです。今度説明する「DLLにクラスを作る方法」を使えば、関数を入れるためにDLLを作る必要はなくなるでしょう。 ただ、もちろんクラスとは別に関数をAPIのような形で置きたいという場合もあるでしょう。MFCにもAfxなんたらというような形で、普通の関数があります。そういう関数を起きたい場合には、必要な方法と言えるでしょう。 プロジェクトの作製 まずはプロジェクトから。プロジェクトは「MFC AppWizard (DLL)」を選んでください。DLLは、別にMFCを使わなくても作れますが、たぶん使った方がずっと楽ですので、今回は使うことにします。 プロジェクト名を決めて「OK」ボタンを押したら、
VCで作成できるDLLには、大きく分けてWin32DLL,MFCDLLがあります。 Win32DLLは、MFCを使用しないDLLです。 また、MFCDLLには、レギュラーDLLと、拡張DLLがあり、 レギュラーDLLが、MFCを内部的に利用するDLL, 拡張DLLが、MFCライブラリクラスから派生したクラスをDLLを作成するとき に使うDLLです。まず、Win32 DLLを説明します。DLL内の関数を他のプログラムから呼び出すには、 その関数をエクスポートする必要があります。 エクスポートするには、declspec(dllexport)キーワードを 使用するか、DEFファイルを使用する方法があります。また、DLLをリンクするには、以下の2つの方法があります。・暗黙的リンク(静的リンク) ・明示的リンク(動的リンク) このようにDLLには、作成、使用方法にいくつか種類があります。そ
DLLの補足 DLL作成の指針やDLLに関連するファイルについて。 暗黙的リンクと明示的リンクの使い分け DLLに関係するファイル ソースファイル defファイル libファイル expファイル dllファイル [/2007-09-28] 序数 暗黙的リンクと明示的リンク DLLの呼び出し方法には、暗黙的(静的)リンクと明示的(動的)リンクがある。 暗黙的リンクと明示的リンクの特徴(メリット・デメリット) 暗黙的(静的)リンク 明示的(動的)リンク 関数の宣言
DLL内では、Exportする関数に extern "C" __declspec (dllexport) をつける。これらをまとめて #define DllExport extern "C" __declspec (dllexport) としておくとよい。 extern "C" が必要になるのはC++のときのみ。 以下のように分岐する方法もある。 #ifdef MYDLL #define DECLSPEC_DLLPORT __declspec(dllexport) #else #define DECLSPEC_DLLPORT __declspec(dllimport) #endif #ifdef __cplusplus extern "C"{ #endif DECLSPEC_DLLPORT void func(); #ifdef __cplusplus } #endif DLLの初期化や終
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く