Visual C++中 文件类型

简介: Visual C++中 文件类型

项目通常产生 EXE 或 DLL。 项目可以相互依赖;在生成过程中,Visual C++ 环境在每个项目中和各项目间都要检查依赖项。 每个项目都有核心源代码,并且根据项目类型的不同,它可以有许多其他的文件分别包含项目的各个方面。 这些文件的内容由文件扩展名指示。 Visual Studio 开发环境利用文件扩展名确定在生成过程中如何处理文件内容。


文件扩展名  类型  内容 .asmx       源    部署文件。

.asp        源    Active Server Page 文件。

.atp        项目  应用程序模板项目文件。

.bmp、.dib、.gif、.jpg、.jpe、.png   资源     常规图像文件。

.bsc        编译  浏览器代码文件。

.cpp、.c    源    应用程序的主源代码文件。

.cur        资源  光标位图图形文件。

.dbp        项目  数据库项目文件。

.disco      源    动态发现文档文件。处理 XML Web services 发现。

.exe、.dll  项目  可执行文件或动态链接库文件。

.h          源    头文件或包含文件。

.htm、.html、.xsp、.asp、.htc、.hta、.xml   资源    公共 Web 文件。

.HxC        项目  帮助项目文件。

.ico        资源  图标位图图形文件。

.idb        编译  状态文件,包含在最小重新生成和增量编译期间可由编译器使用的源文件和类定义之间的依赖项信息。使用 /Fd 编辑器选项指定 .idb 文件的名称。有关更多信息,请参见 /Gm(启用最小重新生成)。

.idl        编译  接口定义语言文件。有关更多信息,请参见Platform SDK 中的接口定义 (IDL) 文件。

.ilk        链接  增量链接文件。有关更多信息,请参见 /INCREMENTAL。

.map        链接  包含链接器信息的文本文件。使用 /Fm 编译器选项命名映射文件。有关更多信息,请参见 /MAP。

.ncb        解决方案   非编译浏览器文件。

.obj、.o 已编译但未链接的对象文件。

.pch        调试   预编译头文件。

.pdb        调试   程序调试数据库文件。有关更多信息,请参见什么是 .pdb 文件?

.rc、.rc2   资源   生成资源的资源脚本文件。

.sbr        编译   源浏览器中间文件。BSCMAKE 的输入文件。

.sln        解决方案 解决方案文件。通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中。

.suo        解决方案 解决方案用户选项文件。记录所有将与解决方案建立关联的选项,以便在每次打开时,它都包含您所做的自定义设置。

.srf        项目     服务器响应文件。该文件包含 ATL Server 应用程序的 HTML 代码。

.txt        资源     文本文件,通常为自述文件。

.vap        项目     Visual Studio Analyzer 项目文件。

.vbg        解决方案 兼容的项目组文件。

.vbp、.vip、.vbproj 项目 Visual Basic 项目文件。

.vcproj     项目    Visual C++ 项目文件。有关更多信息,请参见项目文件和生成文件。

.vdproj     项目    Visual Studio 部署项目文件。

.vmx        项目    宏项目文件。

.vup        项目    实用工具项目文件。

项目文件和生成文件 文件名           目录位置       解决方案资源管理器位置  说明 Solname.sln      Projname       不显示在解决方案资源管理器中 在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中。

Projname.suo     Projname       不显示在解决方案资源管理器中 在开发环境中使用的解决方案选项文件。它存储为解决方案创建的所有用户选项,以便每次打开项目的解决方案时,它都具有所需的外观并包含所有选择的自定义设置。此文件存储在父项目目录中。

Projname.vcproj  Projname       不显示在解决方案资源管理器中 在开发环境中使用的项目文件。在以前的版本中,此文件称为 Projname.dsp。它存储项目的专用信息。每个项目都有一个单独的 .vcproj 文件。有关更多信息,请参见“.vcproj 文件的格式”。此文件存储在父项目目录中。

Projname.idl     Projname       源 包含类型库的接口说明语言源代码的文件。Visual C++ 使用此文件生成类型库。生成的库向其他自动化客户端公开控件的接口。有关更多信息,请参见Platform SDK 中的接口定义 (IDL) 文件。

Projname.ncb     Projname       不显示在解决方案资源管理器中 非编译浏览器文件。它包含分析器生成的由类视图使用的信息。如果此文件被无意间或故意删除,将自动重新生成它。

Readme.txt       Projname       项目 一个描述项目中的每个文件的文件,它使用应用程序向导实际创建的文件名进行描述。位于项目的父目录中。

为 CLR 项目创建的文件 文件名             文件说明 AssemblyInfo.cpp   此文件包含用于修改项目的程序集元数据的信息,即属性、文件、资源、类型、版本信息、签名信息等。有关更多信息,请参见 .NET Framework SDK 中的“程序集概念”。

projname.asmx      一个文本文件,它引用封装了 XML Web services 功能的托管类。

projname.cpp       Visual Studio 为您创建的主源文件和应用程序的入口点。标识项目的 .dll 文件和项目命名空间。在此文件中提供您自己的代码。

projname.vsdisco   一个 XML 部署文件,它包含对描述 XML Web services 的其他资源的链接。

projname.h         项目的主包含文件,包含所有声明、全局符号和其他头文件的 #include 指令。

projname.ncb       无编译浏览器文件,包含分析器生成的信息和类视图使用的信息。

projname.sln       在开发环境中用来将项目的所有元素组织成一个解决方案的解决方案文件。

projname.suo       在开发环境中使用的解决方案选项文件。

projname.vcproj    在开发环境内用来存储该项目的特定信息的项目文件。

ReadMe.txt         说明文件,它使用由模板创建的实际文件名来描述项目中的每个文件。


ATL 程序或控件的源文件和头文件 活动模板库 (ATL) 是一套基于模板的 C++ 类,使您可以创建小型、快速的组件对象模型 (COM) 对象。它对主要的 COM 功能具有特殊支持,这些功能包括常用实现、双重接口、标准 COM 枚举数接口、连接点、分开的接口和 ActiveX 控件。


根据为创建的项目选择的选项,在 Visual Studio 中创建 ATL 项目时将创建下列文件。 所有这些文件都位于 Projname 目录中,而且位于解决方案资源管理器中的头文件(.h 文件)文件夹中或源文件(.cpp 文件)文件夹中。


仅在创建 ATL Server 项目时,项目才包含 ProjnameIsapi.vcproj、ProjnameIsapi.h、ProjnameIsapi.cpp 和 ProjName.srf 文件。 文件名         说明 Projname.h     主包含文件,包含 ATLSample.idl 中定义的项的 C++ 接口定义和 GUID 声明。编译期间由 MIDL 重新生成。


Projname.cpp   主程序源文件。它包含进程内服务器的 DLL 导出实现和本地服务器的 WinMain 实现。对于服务,它还实现所有服务管理函数。


ProjnameIsapi.cpp 包含 ISAPI 扩展代码和附加 ATL Server 代码的根 ISAPI 扩展文件。可以根据项目的具体需要自定义 ATL Server 代码。


ProjnameIsapi.vcproj 使用应用程序向导生成的 Visual C++ 项目的主项目文件。它包含生成文件的 Visual C++ 版本信息,以及有关用应用程序向导选择的平台、配置和项目功能的信息。


ProjnameIsapi.def 包含将从 ISAPI 扩展 DLL 导出的函数,其中包括 ISAPI 扩展函数 HttpExtensionProc、GetExtensionVersion 和 TerminateExtension。这些函数委托给 CIsapiExtension 类的实例。


Resource.h       资源文件的头文件。

StdAfx.cpp       包含 StdAfx.h 和 Atlimpl.cpp 文件

StdAfx.h         包含 ATL 头文件。

ProjName.srf     服务器响应文件。包含 ATL Server 应用程序的 HTML 代码。


MFC 程序或控件的源文件和头文件 所有这些文件都位于 Projname 目录中,而且位于解决方案资源管理器中的头文件(.h 文件)文件夹中或源文件(.cpp 文件)文件夹中。 文件名          说明 Projname.h      程序或 DLL 的主包含文件。它包含其他头文件的所有全局符号和 #include 指令。它从 CWinApp 导出 CPrjnameApp 类并声明 InitInstance 成员函数。对于控件,CPrjnameApp 类从 COleControlModule 导出。


Projname.cpp    主程序源文件。它创建从CWinApp 导出的 CPrjnameApp 类的一个对象,并重写 InitInstance 成员函数。对于可执行文件,CPrjnameApp::InitInstance 完成以下几件事。它注册文档模板,以用作文档和视窗之间的连接;创建主框架窗口;以及创建空文档(如果有一个文档被指定为应用程序的命令行参数,则打开此文档)。对于 DLL 和 ActiveX(原为 OLE)控件,CProjNameApp::InitInstance 通过调用 COleObjectFactory::RegisterAll 向 OLE 注册控件的对象工厂,然后调用 AfxOLEInit。另外,CProjNameApp::ExitInstance 成员函数用于通过 AfxOleTerm 调用从内存中卸载控件。此文件也通过实现 DllRegisterServer 和 DllUnregisterServer 函数,在 Windows 注册数据库中注册和注销控件。


Projnamectrl.h、Projnamectrl.cpp  声明并实现 CProjnameCtrl 类。从 COleControl 导出 CProjnameCtrl,并且定义一些初始化、描述和序列化(加载和保存)控件的成员函数的主干实现。也定义消息、事件和调度映射。


Projnamedlg.cpp、Projnamedlg.h    选择基于对话框的应用程序时创建。此文件导出和实现名为 CProjnameDlg 的对话框类,并且包含初始化对话框和执行对话框数据交换 (DDX) 的主干成员函数。“关于”对话框类也放在这些文件中,而不是放在 Projname.cpp 中。


Dlgproxy.cpp、Dlgproxy.h          在基于对话框的程序中,主对话框的项目自动化代理类的实现和头文件。仅当选择了自动化支持时才使用它。


Projnamedoc.cpp、Projnamedoc.h    导出和实现名为 CProjnameDoc 的文档类,并且包含初始化文档、序列化(加载和保存)文档和实现调试诊断的主干成员函数。

Projnameset.h/.cpp                创建支持数据库且包含记录集类的程序时创建。

Projnameview.cpp、Projnameview.h  导出并实现名为 CProjnameView 的视图类,该类用于显示和打印文档数据。CProjnameView 类从下列 MFC 类之一导出: CEditView CFormView CRecordView COleDBRecordView CTreeView CListView CRichEditView CScrollView CView CHTMLView CHTMLEditView 项目的视图类包含描述视图和实现调试诊断的主干成员函数。如果启用了打印支持,则还添加打印、打印设置和打印预览命令消息的消息映射项。这些项调用基视图类中的相应成员函数。


ProjnamePropPage.h、ProjnamePropPage.cpp    声明和实现 CProjnamePropPage 类。从 COlePropertyPage 导出 CProjnamePropPage 并且提供实现数据交换和验证的主干成员函数 DoDataExchange。


IPframe.cpp、IPframe.h       在应用程序向导的自动化选项页(六个步骤中的第三步)中,如果选定了“袖珍服务器”(Mini-Server) 或“完全服务器”(Full-Server) 选项,则创建它们。这些文件导出并实现名为 CInPlaceFrame 的就地框架窗口类,该类在容器程序就地激活服务器时使用。


Mainfrm.cpp、Mainfrm.h       从 CFrameWnd(对于 SDI 应用程序)或 CMDIFrameWnd(对于 MDI 应用程序)导出 CMainFrame 类。如果在应用程序向导的“应用程序选项”页(六个步骤中的第四步)中选定了相应的选项,则 CMainFrame 类处理工具栏按钮和状态栏的创建。有关使用 CMainFrame 的信息,请参见应用程序向导创建的框架窗口类。


Childfrm.cpp、Childfrm.h     从 CMDIChildWnd 导出 CChildFrame 类。CChildFrame 类用于 MDI 文档框架窗口。如果选定了 MDI 选项,则总是创建这些文件。


相关文章
|
6月前
|
Windows
Microsoft Visual C++2015-2019 安装失败 0x80240017
Microsoft Visual C++2015-2019 安装失败 0x80240017
188 0
|
4月前
|
编译器 开发工具 C++
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
2219 0
|
5月前
|
存储 分布式数据库 API
技术好文:VisualC++查看文件被哪个进程占用
技术好文:VisualC++查看文件被哪个进程占用
|
2月前
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
3月前
|
安全 编译器 C++
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
这些是Microsoft Visual C++不同版本的Redistributable安装包,用于32位系统,确保相关应用正常运行。它们提供C++运行时环境,简化部署流程,支持第三方库及框架,并确保应用兼容性。定期更新可修复问题并引入新功能。在空间有限或需解决程序冲突时可考虑删除,但需谨慎操作以防影响应用稳定性和兼容性。删除前请确认无应用依赖,并通过控制面板安全卸载。
169 1
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
|
4月前
|
C++ Windows
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
在Windows上使用Visual Studio 2022进行FFmpeg和SDL2集成开发,首先安装FFmpeg至E:\msys64\usr\local\ffmpeg,然后新建C++控制台项目。在项目属性中,添加FFmpeg和SDL2的头文件及库文件目录。接着配置链接器的附加依赖项,包括多个FFmpeg及SDL2的lib文件。在代码中引入FFmpeg的`av_log`函数输出"Hello World",编译并运行,若看到"Hello World",即表示集成成功。详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》。
171 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
|
3月前
|
缓存 C++ Windows
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
|
3月前
|
编译器 C++ 开发者
Visual Studio属性表:在新项目中加入已配置好的C++库
通过以上步骤可以确保Visual Studio中新项目成功地加入了之前已配置好的C++库。这个过程帮助开发者有效地管理多个项目中共享的库文件,提升开发效率。
103 0
|
5月前
|
JSON 开发工具 C语言
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
编程入门(五)【Visual Studio Code安装与C/C++语言运行】
766 0
|
6月前
|
存储 C++
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)