c++编译后产生的一些文件是什么?

编写好cpp文件以后点编译健(F7)后会产生一个Debug文件夹和一些文件,分别是*.obj,*.pch,*.dsp,*.ncb,*.plg其中obj文件貌似是编译好的目... 编写好cpp文件以后点编译健(F7)后会产生一个Debug文件夹和一些文件,分别是*.obj,*.pch,*.dsp,*.ncb,*.plg其中obj文件貌似是编译好的目标程序,plg好像是编译的一些信息输出。那么别的文件是什么东西?
书上说“编译是以原程序文件为单位分别编译的,每一个程序单位组成一个源程序文件,如果有多个程序单位,系统就分别把它们编译成多个目标程序”(《C++程序设计》第二版 谭浩强P14)
问:什么叫做程序单位,是不是一个cpp文件就是一个程序单位?那么几个cpp文件分别编译出各自的obj文件,再build出各自的exe文件,它们又有什么联系呢?
展开
 我来答
帐号已注销
高粉答主

2020-02-04 · 说的都是干货,快来关注
知道小有建树答主
回答量:263
采纳率:95%
帮助的人:10.3万
展开全部

c++程序在编译后,在目标路径下会生成多个文件:

Debug文件夹(*.exe,*.ilk,*.obj,*.pch,*.pdb,*.idb,*,pdb),*.cpp,*.dsp,*.ncb,*.plg。

1、exe:是生成的可执行文件

2、ilk:当选定渐增型编译连接时,连接器自动生成ILK文件,记录连接信息。

3、obj:是目标文件,源程序编译后的产物。

4、pch:全称是PreCompiled Header,就是预先编译好的头文件

5、idb:文件保存的信息,使编译器在重新编译的时候只重编译最新改动过的函数和只对最新类定义改动过的源文件进行重编译,以提高编译速度。

6、pdb:全称是Program DataBase,即程序数据库文件,用来记录调试信息。

扩展资料:

工作原理:

C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。

生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。

第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);如果这个步骤成功,下一步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。

参考资料来源:百度百科-C++



du瓶邪
推荐于2017-10-13 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2755万
展开全部
c++程序在编译后,在目标路径下会生成多个文件:
Debug文件夹(*.exe,*.ilk,*.obj,*.pch,*.pdb,*.idb,*,pdb),*.cpp,*.dsp,*.ncb,*.plg
*.exe:是生成的可执行文件
*.ilk:当选定渐增型编译连接时,连接器自动生成ILK文件,记录连接信息
*.obj:是目标文件,源程序编译后的产物
*.pch:全称是PreCompiled Header,就是预先编译好的头文件
*.idb:文件保存的信息,使编译器在重新编译的时候只重编译最新改动过的函数和只对最新类定义改动过的源文件进行重编译,以提高编译速度
*.pdb:全称是Program DataBase,即程序数据库文件,用来记录调试信息
*.dsp:(全称是Developer Studio Project)也是一个配置文件
*.ncb:(全称No Compile Browser)的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成
*.plg:实际上是一个超文本文件,可以用Internet Explorer打开,记录了Build的过程
*.cpp:就是C++源代码文件.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rubnake
推荐于2017-09-11
知道答主
回答量:17
采纳率:0%
帮助的人:20.4万
展开全部
玩c++建议去linux下玩,首先要搞明白编译的是使用哪个编译器,编译的过程是怎么样。写写几个Makefile就知道了。先直接用命令行操作,然后用集成的IDE来写代码。
对于编译过程,总体上是这样,源代码(*.h,*.cpp/c)经过预编译,编译,生成目标文件(Windows下应该是.obj文件,Linux/unix下是.o文件),然后通过链接(将各种目标文件.obj(.o) 和 目标文件的集合(动态静态库dll(windows下),so(linux/unix下))),最终成功可执行文件(Windows下叫exe,Linux/unix下随便以什么结尾了)。

*.obj,*.pch,*.dsp,*.ncb,*.plg 这些,除了obj,其他都是微软集成的编译器做的事情了,微软其实也有个类似makefile的东西,其实你可以不用去关注的。这些C++本身无关。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9df37c8
2012-06-21 · TA获得超过215个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:220万
展开全部
obj文件,一个cpp和一个obj对应。连接是要把obj里需要的一些函数符号添加进去,最后生成可执行文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panlisha1984
2023-05-02
知道答主
回答量:37
采纳率:0%
帮助的人:7274
展开全部
plg=编译时生成的结果文件 没什么意思 看了内容你就明白了
ncb=整个工程的构架文件 你在vc里面写一个语句 写到一半时按ctrl+alt+T就会出来该语句的众多补完选择 靠的就是他。
opt=工程的选项 存储在这里面
dsp=工程结构文件 vc里workspace视图里面的众多cpp h文件靠他组织
dsw=工程初始引导文件 有点像快捷方式 告诉vc你的工程包含哪几个文件 比如opt dsp ncb
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式