転載:https://blog.csdn.net/w_x_myself/article/details/82252646
1.DLL機能
コードの再利用は、ソフトウェアの開発効率を向上させるための重要な方法です。一般的に、限り、コードの一部が普遍的であるように、比較的独立した機能モジュールとして構成することができ、プロジェクトの後に再使用します。より一般的な例では、ソースコードの形式で公開されている様々なアプリケーションフレームワーク、ATL、MFC、等、です。この多重化は、「ソースレベル」であるため、ソースコードが完全にプログラマに露出されるので、「ホワイトボックス再利用」と呼ば 「ホワイトボックス多重」より欠点は、4ポイントをまとめました。
ソースコードを露出させます。
ストレージの浪費をもたらす複数のコピー、。
競合が発生しやすいと「ノーマル」コードのプログラマー命名。
アップデート機能モジュールは、困難であるという問題モジュラー実現に資するものであり、
実際には、以上の4点が「露出されたソースコード」の原因としてまとめた「深刻な夫婦コード。」これらの欠陥に対処するために、彼は「バイナリレベル」コードの再利用を提案しました。バイナリレベルのコードの再利用用いコードカップリング現象を容易にするために一定の役割を果たし、ある程度のソースコードを隠します。そのような多重化と呼ばれ、「ブラックボックスの再利用」。
説明:だけでも、より高度なCOMコンポーネントである静的リンクライブラリの1つのDLLではない「ブラックボックスの再利用」アプローチを実現。
新しい空のソリューションを作成2.VS(ソリューションは、プログラムの下でのプロジェクトの多くを持つことができます)
2. DLLを作成します。
------ファイル>新規------>プロジェクト------> Win32コンソールアプリケーション------>
DLLを選択 - エクスポートされたシンボルをチェック - プリコンパイル済みヘッダーファイルをチェックしません。
stdafx.hを、stdafx.cpp、targetver.h、dllmain.cpp、dllexport.dllするように変更MyDll.hを削除します。#include "stdafx.hを" の#includeでMyDll.eppの変更 "MyDll.h" "dllexport.h" に変更
溶液中のdll DLLプロジェクトの生産と使用した場合、我々は、出力ディレクトリのDLLを指定することができます
$(SolutionDir)---ソリューションディレクトリ
$(プラットフォーム)----プラットフォームディレクトリ(x86の/ x64の)
$(構成)---コンパイルモード(デバッグ/リリース)
ライブラリはDLLの関数であるので、LIBは、関数宣言があり、我々はまた、出力パスを指定し、彼
これは、私たちがプロジェクトをコンパイルするものです。
その後、ソリューションディレクトリのbinとlibディレクトリを構築
3.プロジェクトを作成しますuseDll
DLLを使用
インポートヘッダーファイル指定インポート
あなたはexeファイルを実行する前に、私たちは、プロジェクトの出力ディレクトリを指定したいUseDll
結果:
プロジェクトのプロパティを設定するために使用するためのDLLライブラリ
プロジェクト-プロパティ-構成プロパティ-リンカ-一般-追加のライブラリディレクトリ:LIBファイル格納ディレクトリを追加します。
プロパティ- -構成プロパティ-リンカ-入力-追加の依存プロジェクト:libのファイル名を追加しlibのファイル名へのプロジェクト参照を追加します。