Visual Studio项目目录和文件说明

Visual Studio项目属性配置
VS6.0以及以前的版本是很是旧了,跟VS2002以及以后的版本有很是大的差异。

VS2002以后,虽然每一个版本都有变化。可是思想上已经很是成熟了。编辑器

vc5,6的工程文件是.dspsvn

vc2002-2008工程文件是vcproj函数

vc2010以后是vcxproj工具

vcproj和vcxproj都是xml格式的。布局


我这里是使用VS2013的,内容可能跟其余版本有细微差异,可是都很是有参考价值了。

VS使用方案管理项目,一个解决方案下能够包含多个项目。
默认状况下,VS解决方案总目录下包含sln和一个项目文件夹,在编译器中生成debug和release解决方案后,总目录下还会生成对应的debug和release目录(存放的是中间编译文件obj)。

下面结合例子讲一下:solution为建立的解决方案,demo为建立的项目debug

解决方案solution总目录以下:
调试


ipch目录内的文件和.sdf文件是visual studio用来保存预编译的头文件和Intellisense用的,删除这些文件对于工程开发彻底没有影响。不能提交svnxml

.opensdf看名字就差很少知道意思了,好像只有打开工程的时候才会出现,关闭就会消失,估计是sdf的临时文件。不能提交svnip

.sln(Visual Studio.Solution)经过为环境提供对项目、项目项和解决方案在磁盘上的位置的引用,能够将他们组织到解决方案中。须要提交svn开发

.suo(solution user option)解决方案用户选项,记录全部将与解决方案创建关联的选项,存储了用户对界面的自定义配置,包括布局、断点、打开的文件等。不能提交svn


项目demo目录以下:


.vcxproj项目文件

.vcxproj.filters用于项目下文件的虚拟目录,须要提交到svn

.vcxproj.user用户的一些相关配置,不能提交svn


除了这些,在Debug和Release目录下,还有一些文件。

.exe可执行文件

.exp导出库文件的文件,只有dll工程才有,包含了导出函数和数据项信息。连接工具使用这类文件来建立动态连接库。

.def告知编辑器不要以microsoft编译器的方式处理函数名,而以制定的某方式编译导出函数,这样能够避免因为VC++编辑器的独特处理方式引发的连接错误。

.ilk增量编译(incremental linking),取消增量编译能够不生成这种文件,对于大工程来讲可能会变慢。

.pdb帮助软件调试的文件

.manifest文件为了解决不一样的程序调用相同名称的可是不一样版本的dll产生的问题。

相关文章
相关标签/搜索