假如我们在VC++6.0 Studio中创建了EX10这个工程,选择菜单中[Build]→[Rebuild All],重新编译所有的工程文件,可以看到如下输出:
从这个输出中,我们可以看到可执行程序EX10.exe的产生,经过了两个步骤:首先,C++编译器对工程中的三个源文件fish.cpp、animal.cpp单独进行编译(Compiling…)。在编译时,先由预处理器对预处理指令(#include、#define和#if)进行处理,在内存中输出翻译单元(一种临时文件)。编译器接受预处理的输出,将源代码转换成包含机器语言指令的三个目标文件(扩展名为obj的文件):EX10.obj、fish.obj、animal.obj。注意,在编译过程中,头文件不参与编译;在EX10工程的Debug目录下,我们可以看到编译生成的obj文件。接下来是链接过程(Linking…),链接器将目标文件和你所用到的C++类库文件一起链接生成EX10.exe。整个编译链接的过程如下图所示。
关于VC文件后缀名,参考:
.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。
.BMP:位图资源文件。
.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。
.C:用C语言编写的源代码文件。
.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。
.CNT:用来定义帮助文件中“Contents”的结构。
.CPP或.CXX:用C++语言编写的源代码文件。
.CUR:光标资源文件。
.DEF:模块定义文件,供生成动态链接库时使用。
.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。
.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。
.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
.HLP:Windows帮助文件。
.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
.HPG,生成帮助的文件的工程。
.ICO:图标资源文件。
.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
.INI:配置文件。
.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。
.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。
.MDP:旧版本的项目文件,相当于.dsp
.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。
.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。
.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。
.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。
.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。
.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
.PLG:编译信息文件,编译时的error和warning信息文件。
.RC:资源定义文件。
.RC2:资源定义文件,供一些特殊情况下使用。
.REG:注册表信息文件。
.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。
.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。
.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。
.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。
.WAV:声音资源文件。
- 大小: 10.6 KB
- 大小: 31.7 KB
分享到:
相关推荐
在深入探讨VC++程序编译连接的原理与过程之前,我们首先要明白,任何C++程序的构建都是由一系列复杂的步骤组成,包括预处理、编译、链接等阶段。这些步骤对于理解和优化C++代码至关重要,特别是对于那些致力于探索...
Depends2.2_x86是一款专为VC程序设计的反编译工具,它能帮助开发者分析和调试程序对各种动态链接库(DLL)的依赖性,从而解决运行时错误和兼容性问题。下面我们将详细探讨Depends2.2_x86的功能、使用方法以及其在...
VC++编译原理实现方法是一种深入理解编程语言编译过程的技术,它涵盖了从源代码到可执行文件的转换全过程。在这个过程中,我们主要关注三个关键阶段:词法分析、语法分析以及代码生成。在使用VC++作为开发工具时,...
【VC++程序调试】是开发过程中必不可少的环节,主要用于解决程序运行时出现的错误和异常。当程序出现如死机、计算错误、内存访问冲突等问题时,就需要进行调试以找出问题所在并修复。 **1. 前言** 调试是程序员解决...
本文主要介绍了如何利用命令行进行VC++程序的编译以及makefile的基本概念与使用方法。 #### 二、环境变量配置 为了能够在命令行模式下使用VC++编译器,我们需要先设置好相关的环境变量。这些环境变量主要包括`PATH`...
标题 "vc++6.0编译linking后死机 补丁" 涉及到的是微软的Visual C++ 6.0版本在编译链接过程中遇到的问题,以及解决这个问题的补丁。在这个问题中,用户可能在完成编译链接步骤后发现应用程序无响应或者系统出现异常...
【VC++程序与C语言学习】 VC++是Microsoft公司推出的一种集成开发环境,全称为Visual C++,它集成了C++编译器、调试器以及其他必要的开发工具,主要用于Windows平台上的应用程序开发。该环境特别适合C++和MFC...
本教程将详细讲解如何使用VC++来设计和构建动态链接库,并通过创建基于对话框的应用程序来演示这一过程。 首先,我们需要了解动态链接库的基本概念。DLL是一个包含可由多个执行文件同时使用的函数和数据的库。与...
在本文中,我们将深入探讨如何在Visual C++ (VC++)环境中直接编译并运行CNN(卷积神经网络)深度学习代码。CNN是一种广泛应用于图像识别、自然语言处理和许多其他机器学习任务的神经网络结构。VC++作为Microsoft提供...
### VC++6.0 编译及链接时常见问题的解决方法 在使用VC++6.0进行程序开发的过程中,开发者经常会遇到各种编译或链接错误。...通过这些步骤,可以有效减少编译和链接过程中的错误,提高程序的稳定性和可靠性。
VC++,全称Visual C++,是Microsoft开发的一个强大的C++集成开发环境,它支持创建包括动态链接库在内的多种类型的程序。本篇文章将深入探讨如何使用VC++创建动态链接库,以及如何利用这些库实现程序换肤和国际化功能...
**四、编译与链接过程** 1. **预处理**:预处理器(cpp.exe)处理宏定义、条件编译指令等,生成.i中间文件。 2. **编译**:编译器(cl.exe)将.i文件转化为汇编语言,生成.obj目标文件。 3. **链接**:链接器(link....
通常,一个简单的VC++程序会包含至少一个源代码文件(.cpp),头文件(.h)以及可能的资源文件(如.rc)。源代码文件是实现程序逻辑的地方,而头文件通常用来声明函数和类,资源文件则用于定义应用程序的界面元素。 ...