\r\n\r\n
アセンブリとDLL
ライブラリとは、アプリケーションを開発するために利用できるリソースの集合体です。ライブラリは通常、サブルーチン、関数、クラス、値、型から構成されています。DLLファイルとは、マイクロソフト社が開発したダイナミックリンクされたライブラリファイルです。しかし、DLLファイルにはいくつかの問題があるため、マイクロソフトはアセンブリファイル形式(.NETフレームワークを使用)を考え出しました。アセンブリファイルは物理的にはDLLと非常によく似ていますが、内部的には多くの相違点があります。
DLLとは何ですか?
ダイナミックリンクライブラリ(DLL)とは、マイクロソフト社が開発した共有ライブラリ実装のことです。.dllは通常のDLLファイル、ocxはActiveXコントロールを含むライブラリ、.drvは古いシステムドライバファイルで使用される拡張子を使用します。WindowsのEXEファイルと同じ形式(32ビット/64ビットWindowsではポータブル実行ファイル、16ビットWindowsでは新規実行ファイル)です。したがって、DLLファイルには、コード、データ、リソースのあらゆる組み合わせを含めることができます(EXEファイルの場合と同様)。実は、DLLファイル形式のデータファイルをリソースDLLと呼びます。アイコンライブラリ(拡張子は.icl)やフォントファイル(拡張子は.fonや.fot)は、リソースDLLの一例です。
セクタ***と呼ばれるコンポーネントがDLLを構成し、各セクションは読み取り専用/書き込み可能、実行可能/不可能などのプロパティを持っています。コード部分は実行可能で、データ部分は実行不可能です。コード部分は共有で、データ部分は非公開です。これは、DLLを使用するすべてのプロセスがコードの同じコピーを使用し、各プロセスはデータの独自のコピーを持つことを意味します。Windowsの主なダイナミックライブラリはkernel32.dllで、Windowsの基本機能(ファイルおよびメモリ関連機能)が含まれています。COM(Component Object Model)は、OOP(Object Oriented Programming)をDLLで拡張したものです。従来のDLLは、COMファイルよりも使い勝手が良い。
コレクションとは?
アセンブリファイルは、DLLファイルのいくつかの問題を解決するために、マイクロソフトによって導入されました。アセンブリファイルは、Microsoft .NETフレームワークで導入されました。実行可能な機能の論理単位をアセンブリと呼びます。アセンブリは、.NET CLR(Common Language Runtime Library)の下で実行することができます。実際には、アセンブリはEXEファイルやDLLファイルの形で存在する。ただし、Microsoft Win32のDLLとは内部的に大きく異なっています。マイクロソフトのメタデータは、MISLからなる中間言語である。組み立ては自己流で。リストには、名前、バージョン、ロケール、強い名前、ファイルのリスト、タイプ、依存関係などの情報が含まれています。MISLコードはCLRを介して実行されます(直接実行されません)。
アセンブリとDLLの違いは何ですか?