1.概要
WindowsアプリケーションプログラミングにおいてDLLは切っても切り離せない関係性です。
意識しなくても、知らず知らずのうちにDLLを使っている場合もあるでしょう。
今回は自分でDLLを作成し、それを実装したプログラミングをやってみようと思います。
なにかと敬遠しがちですが、やってみると非常に簡単です。
今回使用するのは【Visual Studio 2015】になります。
2.DLLとは
ダイナミック・リンク・ライブラリの略で
動的に関連付けられた部品という意味合いになります。
つまり
という解釈になるかと思います。
この動作する時に読み込まれるというのが重要で
静的なものは【プログラム作成時】に必要となるので
バイナリに組み込まれた形になります。
つまり変更があった場合は、バイナリ自体のアップデートが必要になります。
ですがこのDLLを使用することで、バイナリ自体のアップデートは行わず
DLLのアップデートで済むことになるので非常に使い勝手がいいかと思います。
3.DLLの作成
今回は計算してくれるDLLを作成してみます。
Visual Studioを起動しプロジェクトを新規作成します。
テンプレートから【クラスライブラリ】を選択し、名前を付けて【OK】をクリックします。
今回は【Calc】という名称にしています。
プロジェクトを作成したら下記のようにコードを記述します。
namespace Calc { public class Addition { public static int Integer(int a, int b) { return a + b; } public static float Decimal(float a, float b) { return a + b; } } public class Subtraction { public static int Integer(int a, int b) { return a - b; } public static float Decimal(float a, float b) { return a - b; } } }
【ビルド】→【Calcのビルド】をクリックしビルドを行うと
binフォルダに【Calc.DLL】が作成されています。
非常に簡単です。
これをアプリケーションに組み込んでみたいと思います。
4.DLLを使う
プロジェクトを作成します。
今回は【CalcTest】というコンソールアプリケーションを作成しました。
【ソリューションエクスプローラー】にある【参照】を右クリックし
【参照の追加】をクリックします。
【参照マネージャー】ウィンドウの下部にある参照をクリックし
先程作成した、【Calc.DLL】を選択し【OK】をクリックします。
参照に【Calc】が追加されていればOKです。
コードは下記のとおりとしました。
using System; namespace CalcTest { class Program { static void Main(string[] args) { Console.WriteLine(Calc.Addition.Integer(2, 1)); Console.WriteLine(Calc.Addition.Decimal(0.2f, 0.1f)); Console.WriteLine(Calc.Subtraction.Integer(2, 1)); Console.WriteLine(Calc.Subtraction.Decimal(0.2f, 0.1f)); Console.Read(); } } }
実行結果は下記のとおりとなりました。
しっかり計算されています。
5.DLLの更新
DLLを更新する場合は【Calc.DLL】を上書きすればOKです。
ビルドした時にバイナリと同じフォルダに【Calc.DLL】が存在するので
これを上書きすればいいだけです。
【Calc.DLL】が見つからない場合は【プロパティ】にある
【ローカルにコピー】が【True】になっているか確認してみてください。