Visual C++_プロジェクトに対して作成されるファイルの種類

プロジェクト名..vcproj やら .vcxproj やら .vcxproj.filters とか未知だったので。

実際にプロジェクトにインクルードされるファイルは、
プロジェクトの種類・およびウィザードで選択したオプションによって異なる。

 

.exe    .dll

実行可能ファイルまたはダイナミック リンク ライブラリ ファイル。

 

.obj    .o

オブジェクト ファイル。コンパイルはされるが、リンクはされない。

オブジェクト ファイル:
コンパイラソースコードを処理した際に作り出される中間的存在

 

.sln

ソリューション ファイル。
1 つまたは複数のプロジェクトのすべての要素を 1 つにまとめる

 

.vcxproj

Visual C++ プロジェクト ファイル。

 

.vcxproj.filters

フィルター ファイル。
ソリューションに追加されたファイルを配置する場所を指定

ソリューションエクスプローラーを使用してプロジェクトにファイルを追加する時、
ソリューションエクスプローラーのツリー ビューでファイル名拡張子に基づいて、
ファイルを追加する場所を定義する。

 

.vcxproj.user

移行ユーザー ファイル。
プロジェクトが Visual Studio 2008 から移行された後、.vsprops ファイルから
変換された情報が格納。

 

.def

モジュール定義ファイル

・リンクするプログラムに関するエクスポートや属性などの情報を
  リンカーに提供するファイル。

・ライブラリで公開する関数を記述するテキストファイル。

このファイルを元にどんな関数が公開されているかという情報の入った
lib ファイル ( バイナリ ) が作成される。
ex )
ライブラリに A 関数がある。C++ から A 関数を呼び出す。
この仲立ちが def ファイル。多分。

リンカーオプションがあるため通常 .def ファイルは必要ない。
また、エクスポートされる関数を指定するには __declspec ( dllexport ) も使用できる。

 

 

こちらから。
https://msdn.microsoft.com/ja-jp/library/3awe4781.aspx
https://msdn.microsoft.com/ja-jp/library/hx0cxhaw.aspx
https://msdn.microsoft.com/ja-jp/library/ee862524.aspx
https://it-words.jp/w/E382AAE38396E382B8E382A7E382AFE38388E382B3E383BCE38389.html
https://msdn.microsoft.com/ja-jp/library/28d6s79h.aspx
http://yohshiy.blog.fc2.com/blog-entry-66.html

 以上。

 

--Memo--
ソリューション エクスプローラー にはフォルダ構成で表示されているのに、
ソースファイルが置いてあるフォルダを除いてもフォルダ構成じゃない。

ソリューション エクスプローラーにおいて、
プロジェクト右クリック > [追加] > [新しいフィルター]
でフォルダっぽい構成になる。.vcxproj.filters が作成される。