⑴ 在c语言中“可执行程序”是什么意思
C语言中的可执行程序就是将用文本信息表示的程序翻译成计算机认识的二进制代码串。
首先,我们先用C语言把源代码写好,然后交给C语言编译器。C语言编译器内部分为前端和后端。
(1)编译器前端
前端负责将C语言代码进行词法和语法上的解析,然后可以生成中间代码。
中间代码这部分不是必须的,但是它能够为程序的跨平台移植带来诸多好处。比如,同样的一份C语言源代码在一台计算机上编译完之后,生成一套中间代码。
然后针对不同的目标平台(比如要将这一套代码分别编译成 ARM 处理器的二进制机器码、MIPS 处理器的二进制机器码以及 x86 处理器的二进制机器码),只需要编写相应目标平台的编译器后端即可。
所以,这么做就可以把编译器的前端与后端剥离开来(这在软件工程上又可称为解耦合),不同处理器厂商可以针对自家的处理器特性,对中间代码生成到目标二进制代码的过程再度进行优化。
(2)编译器后端
接下来,由C语言编译器后端生成源文件相应的目标文件。
目标文件在 Windows 系统上往往是.obj文件,而在 Unix/Linux 系统上往往是.o文件,C语言的源文件在所有平台上都统一用.c文件表示。
(3)链接器
最后,对于各个独立的目标文件,通过连接器将它们合并成一个最终可执行文件。
(1)代码编译后变成什么可执行扩展阅读:
起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。
这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。
K&R C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C 。因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994 ,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity ,有些人简称为C95标准。
C99标准
1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准,名叫ISO/IEC 9899:1999 - Programming languages -- C ,简称C99标准。这是C语言的第二个官方标准。
参考资料:网络-c语言
⑵ 一个编译生成的可执行程序是用什么命令执行
预编译( 生成 hello.i 文件) 预编译的处理规则:1. 将所有的 “#define” 删除,并展开所有的宏定义。 2. 处理所有的条件
2. 编译(生成汇编代码 hello.s) 编译过程是编译器gcc把预处理完的文件进行词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件。编译过程可以使用如下命令
3. 汇编(生成hello.o文件)汇编是 汇编器as
⑶ 程序编译链接后形成的可执行文件是什么文件
xxxx.exe可以执行文件
⑷ 如何将自己编写好的代码弄成应用软件啊
你需要的是编译器,比如TurboC,MSC,或者VC等等,你写的C代码只是源程序而已,需要经过C编译器编译成可执行的EXE文件。C编译器有很多,上面提到的就是比较常用的,至于编译器的使用,你得另查一查使用手册,一般而言,编搭胡译器都带有IDE的集成编程环境慧蚂,可以作为程序的编辑器(别把编辑器和编译器弄混了,编辑器就是可以输入源代码的软件工具,如记事本就是一个最简单的编辑器,编译器就是用于编译特定语言源代码的软件),然后一般都有一个编译(Compile)按钮(或者编译命令),编译时编译器会检查你的源代码是知碧拦否有语法错误,如果没有错误,还会使用链接(Link)工具将你的程序链接成为可执行的Exe文件,至此,你的源程序就成了可运行的程序了。
运行EXE文件是不用源代码的,它与编写程序的语言无关,各种编程语言写成的源程序经过该编程语言的编译器可以被编译成在计算机上可以被运行的执行程序。
⑸ 源程序TEST.C经编译产生的目标文件和连接后产生的可执行文件是什么
编译就是把C代码转换成CPU可执行的机器指令,每个.c文件生成一个.obj文件。
链接就是把生成的(多个)
.obj
文件及用到的库文件(.lib)一起组合生成可执行文件(.exe)。
⑹ 如何将编写好的C语言源程序变成可执行文件EXE
1、第一步,打开C语言编译软件,输入你要执行的程序源代码,如下图所示。