代码的编译和链接
A. 为什么要对C源程序进行编译、链接
首先要说的是c语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。接着链接目标文件,生成可以执行文件。。。大概就是这样。。详细的LZ可看这个总结。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html
B. C语言编辑编译连接的作用是什么
C语言编辑的作用是检查语法,制作C语言的源文件和头文件,生成汇编代码。
C语言编辑的作用是将汇编代码转换机器码。在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。
C语言链接的作用是将机器码链接到一起生成可执行程序。这一步会对文件之间的关联做检查,如果出错,将不会生成可执行程序,也就无法执行。

(2)代码的编译和链接扩展阅读:
C语言链接时,将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件。该可执行文件会变大很多,一般是调用自己电脑上的静态库。
静态库和应用程序编译在一起,在任何情况下都能运行,而动态库是动态链接,文件生效时才会调用。很多代码编译通过,链接失败就极有可能在静态库和动态库这出现了纰漏,要视情况解决。缺少相关所需文件,就会链接报错。这个时候就要检查下本地的链接库是不是缺损。
C. C语言 四个过程:预处理,编译,汇编,链接,分别进行了什么过程别度娘。
预处理:替换代码中的预处理命令(宏定义就是在这里直接替换的)
编译:对代码按执行顺序进行编译成.o或.obj目标文件
汇编:将其他高级语言转换成机器语言
链接:代码中的各种调用关系重定位
D. 程序编辑,程序编译,程序连接
编辑,类似于文本编辑,将程序代码输入进去,可以修改,增加,删除
编译,将程序代码按一定规则变换成机器可以识别的可执行代码序列,
连接,将编译的代码序列与必须的启动代码,用到的库文件按规则组合连接成可执行程序
E. 用C语言编的程序,要生成可执行文件的时候,要编译、链接,编译是什么意思啊链接是什么意思编译和链接
编译就是把C代码转换成CPU可执行的机器指令,每个.c文件生成一个.obj文件。
链接就是把生成的(多个)
.obj
文件及用到的库文件(.lib)一起组合生成可执行文件(.exe)。
F. 从预处理、编译、汇编到链接,编译系统都作了哪些工作使用哪些工具生成了哪些文件
这个问题可烦可简,可深可浅。
对于编译执行语言而言:
我所知的笼统过程有
(1)源代码==》目标代码==》可执行程序
(资源==》目标代码)
(2)源代码==》中间代码==》目标代码==》可执行程序
第(1)种一般的为低级汇编采用的模式,第一个主要步骤统称为Assembly(汇编),由“汇编程序”(或称汇编编译器)完成,其包含预处理操作,生成的主要文件是目标文件,当然在生成目的文件前还有许多辅助文件,一般会被“汇编程序”临时生成,用完即删除,不指定控制选项的话最终用户是看不到这些文件的,有哪些中间临时文件,用处是什么可以查看“汇编编译器”的帮助选项得到。第二个主要步骤就是link(链接),其将目标代码文件,链接库里的目标代码块整合为可执行代码,中间也临时生成一些中间文件,如映射文件等,同样可通过链接器的选项查看。
当然,在一些高级汇编里还会有资源编译器,其将各种资源转为(编译为)目标文件(作为链接器的输入)
第(2)种一般是高级语言采用的模式,但有些比较高级的直接跳过中间代码由源代码生成目标代码,其就跟(1)类似,只是此时第一个主要步骤不叫“汇编”而称compile(编译),低级汇编的步骤一“汇编”也可称”编译“。如果有中间代码生成,这中间代码就是汇编代码,此后续处理就同(1)了,此时的中间代码其实也就是临时文件中的一种。
概述:源代码到目标代码的过程通常称为编译,而目标代码到可执行程序的过程称问链接。
或将两个过程统称为代码的编译(全称应为编译连接),这涉及具体的语境,事实上编译器如VC的cl.exe若没有指定/c(只生产目标代码选项),其就是编译连接的统一过程(cl会调用相应的链接器),若指定,则只有编译过程(只生成目标代码而不链接称可执行程序)
上述编译执行类语言开发平台所开发生成的程序一般称为”非托管类程序“
而对于托管类程序(如.NET平台语言C#,VB.NET,JVM平台的java等)
其虽然也有编译过程,但其直接将源代码转为中间代码而不是目标代码(此时不是汇编代码更不是机器码,而是可被.NET或JVM引擎解释执行的代码)
可参看编译原理等相关教材,阿门。。。
G. c语言为何需要编译和连接才能运行
的文件(也称为源代码)而已,需要经过1定的处理才能转换成机器上可运行的可履行文件。
我们将对C语言的这类处理进程称为编译与链接。
H. c语言里面的编译和链接是怎么回事啊
编译是把你输入的源代码生成目标代码(即:以.obj为后缀名的文件),连接是把.obj文件和系统库相连接(如:#include 中所声明的文件)。如果直接按run,如果源代码正确则是系统自动编译连接,要是源代码有错误则无法运行,并显示错误信息。
I. 编写代码时,源代码必须经过编译和链接生成目标代码,请问什么是链接
链接是将编译生成的目标代码链接成可执行代码,链接时会将需要调用的库函数和目标文件一起链接成可执行代码
