1. c++编译后产生的一些文件是什么
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,即程序数据库文件,用来记录调试信息。
(1)每个文件编译之后扩展阅读:
工作原理:
C++语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。
第一步是对程序进行编译,这需要用到编译器(compiler)。编译器将C++语句转换成机器码(也称为目标码);如果这个步骤成功,下一步就是对程序进行链接,这需要用到链接器(linker)。链接器将编译获得机器码与C++库中的代码进行合并。
2. java源名字后缀名,编译后生成什么
.java 是java源文件
.class文件是java源文件编译后的文件
.jar文件是按照模块或功能把多个.class文件放到一起,
.dex文件是android系统中的一个文件标准,是在把java文件编译成CLASS文件后,通过一个工具(dx)将应用所有的 CLASS文件转换成一个DEX文件,而后Dalvik虚拟机会从其中读取指令和数据。
3. C语言源程序文件的后缀是什么,经过编译后生成文件的后缀是什么经过连接后生成文件的后缀是什么
C语言源文件后缀名是.c,编译生成的文件后缀名是.obj,连接后可执行文件的后缀名是.exe。
源文件的后缀仅仅是为了表明该文件中保存的是某种语言的代码(例如.c文件中保存的是C语言代码),这样程序员更加容易区分,编译器也更加容易识别,它并不会导致该文件的内部格式发生改变。
(3)每个文件编译之后扩展阅读
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。
依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点。
4. 编译之后为什么要连接
这是一个编程基础的问题。
目前编程语言主要有两种类型,一种是编译型语言,一种是解释型语言。二者的区别在于:编译型语言需要编译、链接生成可执行文件之后才能运行,解释型语言直接就可以运行。C语言是一种编译型语言。
对于计算机来说,只能运行二进制的机器指令。为了方便编写指令给计算机,通过简单的替换之后有了汇编语言。但是汇编语言相对来说还是相当复杂,编写软件时工作量巨大。所以就有了如C语言,C++,JAVA之类的高级语言。
这些语言其实是对汇编做了抽象封装。编译这个动作就是将C语言翻译成了汇编。C语言经过编译这个动作后每个.C文件都会生成一个OBJ,链接这个动作是将多个OBJ链接到同一个可执行文件中,最后生成的是EXE文件。
5. c语言编译后出现的文件后缀都是什么意思
.ilk 当选定渐增型编译连接时,连接器自动生成ILK文件,记录连接信息
.obj project中每个cpp经编译成为obj(object)文件,所有obj文件经链接(link)成为可执行文件。所以obj可称为目标文件或中间文件 .pch 预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码.
.pdb 全称是 program debug database
它在工程编译时自动生成, 程序运行时是不需要它的
但是,要debug代码时,需要加载它,否则不能调试 .exe 是最终编译生成的可执行文件 如果你程序编译完毕,可以正常使用,可以只保留.exe文件,因为其它文件都是编译过程中间生成或用到的,执行时并不需要。
6. C语言源程序文件的后缀是什么,经过编译后生成文件的后缀是什么经过连接后生成文件的后缀是什么
程序文件名的后缀是.c,经过编译后是.obj,经过连接后是.exe。
xx.h文件.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。
xx.c文件.c文件一般放的是变量、数组、函数的具体定义。
1、头文件的预编译,预处理。
编译器在编译源代码时,会先编译头文件,保证每个头文件只被编译一次。
在预处理阶段,编译器将c文件中引用的头文件中的内容全部写到c文件中。
2、词法和语法分析(查错)。
3、编译(汇编代码,.obj文件)。
转化为汇编码,这种文件称为目标文件。后缀为.obj。
4、链接(二进制机器码,.exe文件)。
将汇编代码转换为机器码,生成可执行文件。
(6)每个文件编译之后扩展阅读
注意事项
在编译过程中.h文件中的所有内容会被写到包含它的.c文件中,而所有的.c文件以一个共同的main函数作为可执行程序的入口。
在.h文件中编写函数实现依然可以正常编译执行,相当于所有.h的内容最后都被写到了main.c文件中。
但是为了逻辑性、易于维护性以及一些其他目的,一般在.h文件中写函数的声明,在.c文件中编写函数的实现。
7. 一个java源文件编译后是否只生成一个class文件
否。
一个JAVA源文件里面可以有内部类,其他类(有且仅有一个类可以声明为public),所以,编译后,可以有多个class文件
8. 成功编译.java文件后会生成几个.class文件
每一个类对应一个class文件
编译一个java文件会生成多个class文件
说明在此java文件中调用了多个类
9. 编译之后生成的文件是什么
这个,每个语言对编译的定义不尽相同,有可能是目标程序,有可能是中间代码。
如:c,c++等通常生成的是目标程序,如python,java,C#等通常生成的是中间代码。
10. 为什么c语言编译之后生成的是.exe
Windows下的编译套件:
cl.exe:编译程序
link.exe:链接程序
lib.exe:lib库加载程序
nmake.exe:构建工具
.exe是Windows上能运行程序格式。
不同平台后缀不同
比如在Linux平台使用gcc编译后生成.out文件
没必要纠结后缀。