程序文件名的后缀是.c,经过编译后是.obj,经过连接后是.exe。
xx.h文件.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。
xx.c文件.c文件一般放的是变量、数组、函数的具体定义。
1、头文件的预编译,预处理。
编译器在编译源代码时,会先编译头文件,保证每个头文件只被编译一次。
在预处理阶段,编译器将c文件中引用的头文件中的内容全部写到c文件中。
2、词法和语法分析(查错)。
3、编译(汇编代码,.obj文件)。
转化为汇编码,这种文件称为目标文件。后缀为.obj。
4、链接(二进制机器码,.exe文件)。
将汇编代码转换为机器码,生成可执行文件。
扩展资料
注意事项
在编译过程中.h文件中的所有内容会被写到包含它的.c文件中,而所有的.c文件以一个共同的main函数作为可执行程序的入口。
在.h文件中编写函数实现依然可以正常编译执行,相当于所有.h的内容最后都被写到了main.c文件中。
但是为了逻辑性、易于维护性以及一些其他目的,一般在.h文件中写函数的声明,在.c文件中编写函数的实现。
高级语言编写的代码经过编译后就是可执行程序,高级语言到可执行文件主要有七个个过程。高级语言编译的七个过程:
预处理,词法分析,语法分析,语义分析,中间代码产生,代码优化,目标代码产生。
下面对这几个过程详细讲解:
1、预处理:
对原文件进行预处理,比如头文件,导入的模块,宏定义等进行处理;
2、词法分析:
词法分析是第一阶段,这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。
3、语法分析:
语法分析的任务是在词法分析的基础上将单词程序分解成各位语法短语。
4、语义分析:
语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。
5、中间代码生成:
在进行了上述的语法分析阶段等工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。中间代码生成阶段要在语法和语义分析的基础上,将源程序进一步变为一种内部表示形式,它通常易于生成、易于翻译成目标代码,不过不是所有的语言都必须经过这一步。
6、代码优化:
这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效。代码优化阶段,对前阶段生成的中间代码进行变换或改造,以便生成目标代码时更加节省时间和空间,这一工作也不是必须的。
7、目标代码生成:
这一阶段的任务是吧中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。
您想问的是c语言源程序文件经过c编译程序编译连接之后生成的一个后缀是什么吗?“.exe”C语言源文件后缀名是“.c”,编译生成的文件后缀名是“.obj”,连接后可执行文件的后缀名是“.exe”。
c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)