VS2002以后,虽然每一个版本都有变化。可是思想上已经很是成熟了。编辑器
vc5,6的工程文件是.dspsvn
vc2002-2008工程文件是vcproj函数
vc2010以后是vcxproj工具
vcproj和vcxproj都是xml格式的。布局
下面结合例子讲一下: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产生的问题。