dsp是项目文件,里面包含一些项目相关的设置,比如要链接哪些库啊,有哪些预定义的符号,有哪些额外的包含文件路径,编译前动作以及编译后动作等等。不过这个是在VC6.0以及之前的版本使用的,VS 2005之后变成了.vcproj文件
dsw是工作区文件,一个工作区可以包含多个项目。通常做一个简单的VC程序会有一个工作区文件和一个工程文件,不过一些较大的项目也可以是一个工作区文件,然后包括多个工程文件。同样这个也是VC6.0以及之前的版本使用的,VS 2005之后变成了.sln文件(solution,解决方案文件)
ncb是VC的分析器信息文件,这种文件包含类视图和组件库使用的分析器生成的信息。如果这种文件被有意或无意删除,它会自动重新生成。
==============================================
Visual C++ 使用的文件
.C - C 语言源文件:
这种文件编译为 C 文件。如果其中包含 C++ 代码,必须将文件重命名为 .CPP 或 .CXX 文件,或在编译文件时使用 /Tp 开关。如果源文件包含 C++ 代码,Microsoft 建议将文件重命名为具有 .CPP 或 .CXX 扩展名。
.CPP 或 .CXX - C++ 语言源文件:
这种文件编译为 C++ 文件。要将其编译为 C 文件(假设源文件中没有 C++ 代码),必须将文件重命名为 .C 文件(推荐),或在编译该文件时使用 /Tc 开关。
.H、.HPP 或 .HXX - 头文件:
头文件常用于函数原型、类定义或常量定义。.H、.HPP 或 .HXX 文件可以包含在多个源文件中。
.INL - 内联函数文件:
这种文件包含内联函数定义。
.RC 或 .RC2 - 资源文件:
这种文件包含项目的资源信息,如对话框、菜单栏或字符串表的说明。这种文件是由资源编译器 (RC.EXE) 编译的。使用 Visual C++ 的 AppWizard 生成 MFC(Microsoft 基础类)应用程序时,将得到应用程序的 .RC 文件。.RC 文件可以使用资源编辑器或 App Studio 进行修改或创建。在某些 Visual C++ 版本中,您将看到 .RC2 文件也包含资源信息。
.DEF - 模块定义文件:
根据项目类型,这种文件有两种用途。在基于 Windows 和 Windows NT 的程序中,这种文件用于指定导出的函数列表、控制程序堆大小、指定特殊段的属性等。对于基于 MS-DOS 的 MOVE 覆盖程序(仅用于 16 位产品),这种文件用于指定段或函数所在的覆盖程序。
由 Visual C++ 创建的文件
.APS - 二进制形式的资源文件:
这种文件是二进制形式的当前资源文件。App Studio 或资源编辑器使用该文件进行快速加载。
.BSC - 浏览器数据库文件:
为每个项目创建一个 .BSC 文件。要使用浏览器,需要在 Visual C++ Workbench 中打开该文件。这种文件是在运行 BSCMAKE 工具时通过 .SBR 文件创建的。
.CLW - 类向导状态文件:
这种文件保存有关消息处理函数在代码中存储位置的信息。这种文本文件的格式是未记录的,但是它可以重新生成。有关如何重新生成这种文件的更多信息,请在 App Studio 中单击“帮助”菜单上的“内容”,然后单击“使用类向导”和“在代码发生更改时更新类向导”。
.EXE 或 .DLL - 可执行文件或动态链接库文件:
这种文件是项目的最终链接输出文件,其中包含可执行代码。
.ILK(仅用于 2.0 版及更高版本)- 增量链接信息文件:
链接器创建这种文件来允许在可能时执行增量链接。如果删除这种文件,将强制链接器执行完全链接。
.OBJ - 对象模块文件:
这是编译器的最终输出文件。链接器将组合这些文件,以创建最终的 .EXE、.DLL 或 .LIB 文件。在不同版本的 Visual C++ 中或不同供应商的编译器中,.OBJ 文件可能有不同的格式。
.PCH - 预编译头文件:
这些文件可以大大提高编译速度。如果使用 /Yc、/Yu 或 /YX 编译器选项,将创建这些文件。
.PDB - 程序数据库文件:
这种二进制文件中包含在编译和链接项目过程中收集的类型和符号形式的调试信息。这种文件用于 Visual C++ 调试器。对象文件包含对 .PDB 文件中有关调试信息的引用。这种设计减小了对象文件的大小。有关更多信息,请参见 /Zi 开关下的联机参考。使用 /Z7 开关时,并不创建这种文件。
.SBR - 源浏览器文件:
每个使用 /FR 或 /Fr 开关编译的源文件都会创建这种文件。这种文件包含 Microsoft 浏览器数据库维护实用工具 (BSCMAKE) 生成浏览器数据库文件(.BSC 文件)时所使用的符号信息。
.WSP - 工作区信息文件(仅用于 16 位版本):
这种二进制文件包含 WorkBench 关闭时的状态信息。如打开的源文件以及其窗口位置这些项均保存在这种文件中。
.VCP - 工作区信息文件(仅用于 Visual C++ 2.x 及更高版本):
这种文件是与 16 位版本的 .WSP 文件等效的 Visual C++ 2.x 版本文件。
.VCW - Visual WorkBench 状态文件(仅用于 16 位版本):
这种文件是基于每个项目创建的。它与 .MAK 文件一起使用,以便全面地向 WorkBench描述项目。
.EXP - 导出文件:
导出文件包含有关导出函数和数据项的信息。LIB 创建导入库时,它会同时创建导出文件。当您链接向其他程序中导出并从其他程序中导入的程序时,将直接或间接地使用 .EXP 文件。如果使用 .EXP 文件进行链接,LINK 不会生成导入库,原因是它认为 LIB 已经创建一个导入库。
.LIB - 库文件:
这些文件可以是标准库或导入库文件。标准库包含对象,是由 LIB 工具创建的。导入库包含其他程序中的导出信息,它要么是在生成包含导出信息的程序时由 LINK 创建,要么由 LIB 工具创建。
.MAP - 映射文件:
映射文件是包含被链接程序的信息的文本文件。所含信息包括模块名、来自程序头文件(而不是文件系统)的时间戳以及程序中的组列表(其中包含每组的起始地址、长度、组名称和类)。此外,还包括一个公共符号列表,其中有每个符号的地址、符号名、平面型地址和定义符号的对象文件。映射文件还包括程序的入口点和修正列表。
.RES - 已编译资源文件:
.RES 文件是由资源编译器 (RC) 创建的。
.HPJ - 上下文相关帮助项目文件:
使用 Visual C++ AppWizard 创建支持上下文相关帮助的 MFC 应用程序时,将生成这种文件。需要使用这种文件通过 AppWizard 生成的 .RTF 文件和 .BMP 文件来创建帮助文件。
NCB - 分析器信息文件:
这种文件包含类视图和组件库使用的分析器生成的信息。如果这种文件被有意或无意删除,它会自动重新生成。
MDP - Microsoft Developer Studio 项目文件:
这种文件替代 Visual C++ 版本 2.x 的 .VCP 文件。与 .VCP 文件相比,.MDP 文件包含更多的项目信息。
RCT - 资源模板文件:
这些文件包含插入资源时可以使用的自定义资源的信息。它可以包括菜单、工具栏、位图以及任何其他在“插入资源”菜单中列出的资源类型。
在生成过程中创建而后又删除的其他文件
在生成过程中,Visual C++ IDE 还会创建其他两种文件。在正常环境下应该删除它们。这些文件是:
.CRF - 链接器响应文件:
该文件是在生成过程中随时创建的。
MSVC.BND - 项目 .CRF 文件的副本:
该文件是在资源需要绑定到可执行文件时创建的。它只是项目的 .CRF 文件的副本。 根据项目所支持的功能,还会创建一些其他文件。例如,您的项目可能有一个或多个带 .ICO 扩展名的图标文件、带 .CUR 扩展名的光标文件或带 .BMP 扩展名的位图文件。项目也可能有包含项目注册表信息的 .REG 文件。支持 OLE 的项目还可能有 .ODL 文件和 .TLB 文件。