导航:首页 > 源码编译 > c程序编译中间文件

c程序编译中间文件

发布时间:2023-05-15 16:47:22

① c语言编译生成的.obj文件解释下

c语言编译生成的.obj文件是一种文本文件,程序编译时生成的中间代码文件目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。

obj文件基本结构:OBJ文件不需要任何种文件头(File Header),尽管经常使用几行文件信息的注释作为文件的开头。

OBJ文件由一行行文本组成,注释行以符号“#”为开头,空格和空行可以随意加到文件中以增加文件的可读性。有字的行都由一两个标记字母也就是关键字(Keyword)开头,关键字可以说明这一行是什么样的数据。

(1)c程序编译中间文件扩展阅读:

C编译的整个过程很复杂,大致可以分为以下阶段:

1、预处理阶段

在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。

2、编译、优化阶段

编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。

3、汇编阶段

将汇编语言翻译成机器指令。

② C语言源程序文件经过编译连接之后生成一个后缀为_____的文件。

如果只生成一个文件,那么这个题目答案是B。编译(compile)后生成目标文件,后缀:.obj。也就是机器码。

然后链接器(Linker) 连接生成可执行文件,后缀:.exe。最后运行命令(go),直接运行.exe文件。

(2)c程序编译中间文件扩展阅读:

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。

一个现代编译器的主要工作流程:源代码(source code) →预处理器(preprocessor) →编译器(compiler) →目标代码(object code) →链接器(Linker) → 可执行程序(executables)

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。

编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。

源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言。

而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。

最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

③ c程序经过编译后获得的中间代码文件还需要经过

开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。
C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1、预处理:输入源程序并保存(.C文件)。
2、编译:将源程序翻译为目标文件(.OBJ文件)。
3、链接:将目标文件生成可执行文件( .EXE文件)。
4、运行:执行.EXE文件,得到运行结果。

④ c语言的编写中什么叫中间文件

问这个问题的多半是初学者,所以我尽量说简单些

以最简困烂单的hello world为例

int main( void ){
printf( "Hello world!" );
}

当系统编译这个程序时,它按照以下的方式工作。
一、将你的程序翻译成机器码。
这时,你的程序还不能悔渣直接执行,因为系统不知道该如何处理printf这个函数。所以系统将翻译
后的机器码暂时存放在一个扩展名为obj的文件中
二、在类库查找汪前漏printf这个函数所对应的obj文件,并将文件的内容链接到你的代码内部。并生成最终的,可执行的EXE文件

第一步被称为编译,第二步被称为链接,第一和第二步之间的obj文件就被称为中间文件。

⑤ c语言 linux .o文件 不是ELF格式的 那这是什么文件

.o文件是编译过程中的一个中间文件
一次完整的编译,可以分为编译和链接两个阶段
编译就是.c生成.o,一般用gcc
链接就是.o生成elf,一般用ld
不过用gcc也可以完成链接,gcc会识别文件扩展名调用ld的
更细分,还有cpp的预编译,as的汇编编译
cpp gcc as ld这个是完整的一次编译过程

⑥ 在ubuntu系统中如何用GCC编译运行一个C程序

1、确定安装了gcc编译器后,接下来用vim编辑一个c文件。

⑦ GCC能不能把C编译成coff格式(比如微软的.obj)的中间文件

gcc -c file.c -o file.o
可以把file.c编译成中间蚂枣文件,比闷悔拆如file.o
具体的不也不大清前碰楚,建议查阅GCC使用手册

⑧ 新手应该怎么做c

新手学习C语言,有很多误区,以一个学过C语言的人,给新手一些建议。 第一:一些概念。 C语言是一门程序设计语言,有一些标准,比较重要的是ANSI?C(好像是C89)和C99。 数据结构包括逻辑结构和物理结构。逻辑结构是数据元素集合和定义在集合上的关系。物理结构是逻辑结构在计算机中的实现。 LCC、VC、TC、GCC都是C语言编译器,一般包括集成开发环境,编译器和链接器及辅助工具 我们书写的是C源程序,源程序通过编译器编译为中间文件,中间文件经链接器链接生成可执行文件。不同操作系统可执行文件不同。中间文件也有几个标准,微软使用档升的和Linux下通用的有差异。 个人认为程序设计学习的重点放在数据结构的学习上,但是这种学习要有一个平台,比如C语言。 学习C语言首先要掌握基本语法,常量、变量、类型、及顺序结构、分支结构和循环结构的意义及用法。进一步学习构造类型如指针、结构、函数的意义和用法。 C语言提供一些标准函数以减轻程序设计工作量,这些函数我们自己也可以实现。即使不依靠函数库,只有编译器,理论上就足够了。事实上,提行卖老供的标准函数效率都很高,使用很频繁,没有自己实现的必要,所以掌握常用函数是非常必要的,但是要注意函数的适用范围。 继续学习因人而异,应该可以独立选择了。 强调多实践,C语言的学习要经常上机,多写程序才能逐步提高。 推荐书籍:C?Programming?Languge。有中译本,但最好看英文版。 通读,并将所有习题独立思考,给出解答,尤其是编程实践题,最好逐一上机完成。 C语言其实并不难,如果认真掌握了C?Programming?Language,C语言的基础就可配稿以了,继续学习就更加容易。建议不要找捷径,通过考试除外,真正的水平提高是建立在编程实践积累基础上的,必须一个一个程序的完成才能提高。

⑨ C语言执行过程生成的三种文件和扩展名

  1. 用C语言编写的程序成为C语言源程序,源程序文件的扩展名为“.c”。

  2. 源程序经编译生成目标文件(".obj")。

  3. 把目标文件与各种库函数连接起来,生成可执行文件(“.exe”).

C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。

(9)c程序编译中间文件扩展阅读:

C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植。

这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,又是一个实用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。

⑩ c语言源程序文件的扩展名是什么

c语言源程序文件的扩展名是。
c,C语言程序源码文件统一采用。
c作为文件后缀,这就是常见的C语言源文件扩展名。
c文件是源文件,只有经过编译和链接之后,才能成为可执行文件。
C语言源程序经过编译后变成中间目标文件,把一个或者多个这样的目标文件链接后,就可以得到可执行文件。
拓展,C++语言源程序文件的常见扩展名是。
cpp。
cxx。
cc等。

阅读全文

与c程序编译中间文件相关的资料

热点内容
短信删除助手文件夹 浏览:688
java办公自动化 浏览:340
php中超链接 浏览:253
linux默认路由设置 浏览:36
linux如何挂载iso 浏览:432
vs程序换文件夹后不能编译 浏览:557
安卓源码编译输入脚本没反应 浏览:47
phpmysql自增 浏览:167
把ppt保存为pdf 浏览:533
汽车密封件加密配件 浏览:887
黑马程序员15天基础班 浏览:560
java调整格式 浏览:521
香港云服务器租用价 浏览:78
linuxsublime3 浏览:560
imac混合硬盘命令 浏览:278
沈阳用什么app租房车 浏览:857
00后高中生都用什么app 浏览:239
戴尔塔式服务器怎么打开独立显卡 浏览:808
医疗程序员招聘 浏览:599
住宿app可砍价是什么意思 浏览:133