すべてのファイルを6つの部分に分割します:ソリューション関連ファイル、エンジニアリング関連ファイル、アプリケーションヘッダー
ファイルとソースファイル、リソースファイル、プリコンパイル済みヘッダーファイル、およびコンパイル済みリンク生成ファイル。
1.ソリューション関連ドキュメント
ソリューション関連ファイルには、ソリューションフォルダー内の.sdfファイル、.slnファイル、.suoファイル、およびipchファイルが含まれます
フォルダ。
.sdfファイルとipchディレクトリは、通常、数十メガバイトまたは数百メガバイトの比較的大きなスペースを占有します。
表示、コードの回復、チームのローカルウェアハウス
.slnファイルと.suoファイルは、MFCによって自動的に生成されるソリューションファイルであり、現在のソリューションのプロジェクトが含まれています。
情報、ストレージソリューションの設定。
2.エンジニアリング関連ドキュメント
このフォルダーはソリューションフォルダーです。内部の「カメラキャリブレーション3」はプロジェクトフォルダです。
プロジェクト関連ファイルには、プロジェクトフォルダー内の.vcxprojファイルと.vcxproj.filtersファイルが含まれます。
.vcxprojファイルはMFCによって生成されたプロジェクトファイルで、現在のプロジェクトの設定やプロジェクトに含まれているファイルなどが含まれています。
情報。.vcxproj.filtersファイルには、プロジェクトの仮想ディレクトリ情報、つまりソリューションブラウザのディレクトリ構造が格納されます
構造情報。
3.アプリケーションヘッダーファイルとソースファイル
アプリケーションウィザードは、アプリケーションのタイプ(単一ドキュメント、マルチドキュメント、またはダイアログベースのプログラム)に従って自動的に生成されます。
一部のヘッダーファイルとソースファイルでは、これらのファイルはプロジェクトの主要部分であり、メインフレーム、ドキュメント、ビューなどの実装に使用されます。
以下は、各ファイルの簡単な紹介です。
HelloWorld.h:アプリケーションのメインヘッダーファイル。主にCWinAppExクラスから派生したCHelloWorldを含みます
Appクラスの宣言、およびCHelloWorldAppクラスのグローバルオブジェクトであるtheAppの宣言。
HelloWorld.cpp:アプリケーションのメインソースファイル。主にCHelloWorldAppクラスの実装、CHellが含まれています
oWorldAppクラスグローバルオブジェクトtheApp定義など
MainFrm.hおよびMainFrm.cpp:CMainFraは、これら2つのファイルを介してCFrameWndExクラスから派生します
meクラスは、メインフレーム、メニューバー、ツールバー、ステータスバーの作成に使用されます。
HelloWorldDoc.hおよびHelloWorldDoc.cpp:これら2つのファイルは、CDocumentクラスからドキュメントクラスを派生させます。
CHelloWorldDocには、ドキュメントの初期化、ドキュメントのシリアル化(保存と読み込み)、およびデバッグに使用されるいくつかのメンバー文字が含まれています
番号。
HelloWorldView.hおよびHelloWorldView.cpp:これらは、CHelloWorldという名前のCViewクラスから派生しています
ドキュメントデータの表示と印刷に使用されるビューのビュークラスには、デバッグ用のいくつかの描画関数とメンバー関数が含まれています。
ClassView.hおよびClassView.cpp:CDockablePaneクラスから派生したCClassViewクラス。
アプリケーションインターフェイスの左側のパネルにクラスビューを実装します。
FileView.hおよびFileView.cpp:CFileViewクラスは、実装に使用されるCDockablePaneクラスから派生します。
プログラムインターフェイスの左側のパネルにあるファイルビューを使用します。
OutputWnd.hおよびOutputWnd.cpp:COutputWndクラスはCDockablePaneクラスから派生しているので、
アプリケーションインターフェースの下部パネルの出力を実現します。
PropertiesWnd.hおよびPropertiesWnd.cpp:CPropertiesはCDockablePaneクラスから派生しています
Wndクラスは、アプリケーションインターフェイスの右側のパネルにプロパティを実装するために使用されます。
ViewTree.hおよびViewTree.cpp:CTreeCtrlクラスCViewTreeクラスから派生、達成するために使用
ClassView、FileViewなどのツリービュー
4.リソースファイル
通常、MFCを使用してウィンドウプログラムを生成すると、ダイアログボックス、アイコン、メニュー、その他のリソースが含まれ、アプリケーションウィザードは
リソース関連ファイルを生成します:resディレクトリ、HelloWorld.rcファイル、Resource.hファイル。
resディレクトリ:プロジェクトフォルダの下のresディレクトリには、アプリケーションのデフォルトアイコンやツールバーアイコンなどのアイコンが含まれています
ファイル。
HelloWorld.rc:デフォルトのメニュー定義、文字列テーブル、アクセラレータキーテーブルを含み、デフォルトのバージョン情報ダイアログを指定します
ボックスおよびアプリケーションのデフォルトのアイコンファイルなど
Resource.h:さまざまなリソースのID定義が含まれています。
5.プリコンパイル済みヘッダーファイル
ほとんどすべてのMFCプログラムファイルには、afxwin.hおよびその他のファイルが含まれている必要があります。
コンパイル速度を遅くします。したがって、一般的に使用されるすべてのMFCヘッダーファイルはstdafx.hファイルに入れられ、次にstdafx.cppパッケージ
stdafx.hファイルが含まれ、コンパイラーはstdafx.cppを1回だけコンパイルし、コンパイル後にプリコンパイル済みヘッダーHelloWorlを生成します
d.pchはコンパイル効率を大幅に改善します。
6.ファイルを生成するためのコンパイルとリンク
デバッグモードでコンパイルされている場合、デバッグサブテキストはソリューションフォルダーとプロジェクトフォルダーに生成されます
フォルダ、およびそれがリリースモードでコンパイルされている場合、リリースサブフォルダが生成されます。
プロジェクトフォルダーの下のDebugまたはReleaseサブフォルダーには、コンパイルおよびリンク中に生成された中間ファイルが含まれています。
ソリューションフォルダーの下のDebugまたはReleaseサブフォルダー(図のx64では、x64コンパイルによりx64フォルダーが作成され、フォルダーなしでコンパイルされたx86)には、主にアプリケーションの実行可能ファイルが含まれます。他のユーザーが使用する場合、通常はここでDebugまたはReleaseフォルダーを使用するだけで十分ですが、他のユーザーは使用しません。
VS作業ディレクトリは通常、ソリューションフォルダではなくプロジェクトフォルダです。この作業ディレクトリは、VSでプログラムを実行するときに使用されるデバッグに使用されます。VSでプログラムを実行するには、使用されるリソースをこのフォルダに配置する必要があります作業ディレクトリの下。vsを使用しない場合は、ソリューションフォルダーのデバッグフォルダーまたはリリースフォルダーにあるexeファイルを開きます(これはリリース時に行われます)現時点では、作業ディレクトリはデバッグフォルダーまたはリリースフォルダーです。前のディレクトリにリソースファイルをコピーしてください。一般に、正常に公開するには、ここに外部ライブラリをコピーする必要があります。
(作業ディレクトリを理解する必要があります。通常、相対パスはプログラムに書き込まれます。つまり、DドライブとEドライブからは書き込まれません。絶対パスを書き込むと、プログラムは他のユーザーに発行され、パスは有効になりません。