Visual Studio で dll プロジェクトを作成しようとしています。
その後のメカニズムは?
それは、後で他のプロジェクトで使用できるdllファイルを最後に生成しますか?
Visual Studio で dll プロジェクトを作成しようとしています。
その後のメカニズムは?
それは、後で他のプロジェクトで使用できるdllファイルを最後に生成しますか?
.lib
VS は、Aと aの 2 つのファイルを生成します.dll
。
原則として、これ.dll
だけで十分です。ファイルを呼び出すだけLoadLibrary
で、エクスポートされた関数をファイルから直接取得でき.dll
ます。ここでの問題は、コンパイラが dll が提供するGetProcAddress
関数を認識できないため、使用する関数ごとに呼び出しを行う必要があることです。
これは非常に不便であるため、VS は.lib
ファイルも生成します。実行可能ファイルを に対して静的にリンクするだけ.lib
で、実行時に dll ロードの混乱全体を処理します。次に、顧客に出荷するインストール パッケージに dll と exe の両方を含めます (ただし、lib は含めません)。
丁度。dll 関数のエクスポートとインポートを使用して、アプリケーションと dll の 2 つの個別のプロジェクトを作成します。それでおしまい!
はい、コンパイルしたら、別のプロジェクトでプロジェクトまたは dll への参照を追加できます (参照オプション)。
それは、後で他のプロジェクトで使用できるdllファイルを最後に生成しますか?
はい、プロジェクトの dll が作成され、Debug または Release ビルド フォルダーに配置されます。その後、このライブラリを他のプロジェクトで参照できます (つまり、MS Excel では、Declare ステートメントを使用して VBA の DLL 関数とコマンドにアクセスできます)。