导航:首页 > 源码编译 > c语言程序先编译后连接

c语言程序先编译后连接

发布时间:2023-09-22 00:11:47

❶ 写了一个程序可以编译c语言,怎么自动再链接然后执行生成的可执行文件

编译的大致过程如下:

你完成的其实是前面一部分,的第一阶段,生成了中间代码。

目标代码,即目标文件包含着机器代码(可直接被计算机中央处理器执行)以及代码在运行时使用的数据,如重定位信息,如用于洞穗链接或调试的程序符号(变量和函数的名字),此外还包括其他调试信简搏息。

后面是由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的载拦颤祥入模块。

目前的编译工具通常编译器和链接器都是分开,例如GNU的编译器是gcc,链接器是ld

❷ C语言程序操作是先调试还是编译

首先得编译通过,你才能调试啊,编译正确后,会生成exe文件,IDE中启动程序,可以进行调试。

编译是把源代码变成二进制obj的过程(链接后成为可执行文件),当然会先帮你检查有无简单的语法问题,要不编译器人家不认识,你自己说的有无逻辑就和编译器无关了。
调试首先需要生成二进制代码,所以需要首先进行编译和链接,然后到断点后,调试器会帮你加int 3中断,就停住了。

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

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

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

(3)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语言编写的源程序必须经过编译连接后,生成扩展名为.EXE的可执行文件,才能运行对吗

哥们,这么理解是对的,不过感觉有点表面。
建议看看计算机一些原理,像你说的这个问题我会想到,计算机最终只能识别二进制码,
所以其实不管我们一切啥语言,最终都是通过编译器编译成二进制码,计算机才能识别
而去运行,而C语言编写的程序,肯定是要经过一系列的编译,链接,生成可执行的文件。
在windows系统中,执行文件都是.exe为扩展名的。不过在linux系统中就不一样了,linux
系统并不区分扩展名,所以也就无所谓什么.exe之类的文件,只要知道最终生成可执行的
二进制文件就可以了。

❺ 在计算机上运行一个C语言编写的程序,要经过怎样的处理过程

开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。

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

1、编辑:输入源程序并保存(。C文件)。

2、编译:将源程序翻译成目标文件(。OBJ文件)。

3、连接:将目标文件转换成可执行文件。EXE文件)。

4、运行:执行。EXE文件,得到运行结果。

(5)c语言程序先编译后连接扩展阅读:

C代码变成程序的阶段:

1、首先,源代码文件test。c和相关的头文件,如stdio。h,由预处理程序CPP预处理为一个。我的文件。这是预编译。I文件不包含任何宏定义,因为所有宏都已展开,所包含的文件都已插入其中。我的文件。

2、编译过程就是对预处理后的文件进行一系列的词法分析、语法分析、语义分析和优化,从而产生相应的汇编代码文件。这个过程通常是整个程序构造的核心部分,也是最复杂的部分之一。

3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成一个可以运行的可执行程序。为了得到最终的可执行文件“A.out”,需要将一大堆文件链接在一起。

4、在链接过程中,调用其他目标文件中定义的函数的指令需要重新校准,使用其他目标文件中定义的变量的指令也需要重新校准。

❻ c语言为何需要编译和连接才能运行

的文件(也称为源代码)而已,需要经过1定的处理才能转换成机器上可运行的可履行文件。
我们将对C语言的这类处理进程称为编译与链接。

❼ c程序编译后生成什么,连接后生成可执行程序

c程序编译后生成目标文件,连接后生成可执行程序。C语言是世界上最流行、使用最广泛的面向过程的高级程序设计语言。C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

❽ [C语言] 运行C程序的步骤

(1)上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用.c作为后缀,生成源程序文件,如f.c。

(2)对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。例如,对于#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代#include<stdio.h>行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。
编译的作用首先是对源程序进行检查,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序(在Visual C++中后缀为.obj,如f.obj)。如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。
在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。
(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为.obj)还不能供计算机直接执行。前面已说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program),在Visual C++中其后缀为.exe,如f.exe。
即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。
以上连接的工作是由一个称为“连接编辑程序”(linkage editor)的软件来实现的。
(4)运行可执行程序,得到运行结果。
以上过程如图1.2所示。其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件f.c输入,经过编译源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。
为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成开发环境(IDE)的,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。

❾ C语言编辑编译连接的作用是什么

C语言编辑的作用是检查语法,制作C语言的源文件和头文件,生成汇编代码。

C语言编辑的作用是将汇编代码转换机器码。在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。

C语言链接的作用是将机器码链接到一起生成可执行程序。这一步会对文件之间的关联做检查,如果出错,将不会生成可执行程序,也就无法执行。

(9)c语言程序先编译后连接扩展阅读:

C语言链接时,将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件。该可执行文件会变大很多,一般是调用自己电脑上的静态库。

静态库和应用程序编译在一起,在任何情况下都能运行,而动态库是动态链接,文件生效时才会调用。很多代码编译通过,链接失败就极有可能在静态库和动态库这出现了纰漏,要视情况解决。缺少相关所需文件,就会链接报错。这个时候就要检查下本地的链接库是不是缺损。

❿ 开发一个c语言程序要经过哪四个步骤

开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。

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

1、预处理:输入源程序并保存(.C文件)。

2、编译:将源程序翻译为目标文件(.OBJ文件)。

3、链接:将目标文件生成可执行文件(.EXE文件)。

4、运行:执行.EXE文件,得到运行结果。

(10)c语言程序先编译后连接扩展阅读:

C语言代码变为程序的几个阶段:

1、首先是源代码文件test.c和相关的头文件,如stdio.h等被预处理器cpp预处理成一个.i文件。经过预编译后的.i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到.i文件中。

2、编译过程就是把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后产生相应的汇编代码文件,这个过程往往是我们所说的整个程序的构建的核心部分,也是最复杂的部分之一。派胡

3、汇编器不直接输出可执行文件而是输出一个目标文件,汇编器可以调用ld产生一个能够运行的可执行程序。即需要将一大堆文件链接起来才可以得到“a.out”,即最终的可执行文件。

4、在链接过程中,对其他定义在目标文件中的函数调用的指令需要被重新调整,对实用其他定义在其他目标文件的变量来说,也存在同样问题。

参考资料来源:网络-c语言

阅读全文

与c语言程序先编译后连接相关的资料

热点内容
不安全服务器是什么意思 浏览:519
挂载vhd命令 浏览:441
女主角是程序员男主角是医生 浏览:561
怎么解除app获取指纹 浏览:740
安卓仙剑修改器怎么用 浏览:537
松下服务器18代表什么 浏览:284
什么叫服务器高并发 浏览:958
单片机的pow函数 浏览:867
天气预报android界面 浏览:951
空调支持用户使用编程吗 浏览:683
亚马逊云服务器如何设置 浏览:736
java本地类 浏览:369
程序员话剧 浏览:778
通达信vix恐慌指数源码 浏览:25
火力app在哪里下载 浏览:101
linux查看安装的服务 浏览:176
tp277触摸屏编程软件 浏览:423
命令按钮能不能获得焦点 浏览:562
专属程序员的浏览器 浏览:723
cad图形界限命令 浏览:223