程序编译后为什么要链接
发布时间: 2023-12-04 05:27:54
1. 一个C源程序,编译后为什么还要连接,都连接什么了
编译之后,地址不连续,不是可执行地址,连接之后才能变成连续的可执行文件,所以没有连接的文件不能运行。
2. c语言里面的编译和链接是怎么回事啊
编译是把你输入的源代码生成目标代码(即:以.obj为后缀名的文件),连接是把.obj文件和系统库相连接(如:#include 中所声明的文件)。如果直接按run,如果源代码正确则是系统自动编译连接,要是源代码有错误则无法运行,并显示错误信息。
3. C语言编辑编译连接的作用是什么
1
编辑:
就是写代码或修改代码,制作C语言的源文件和头文件。
2
编译:是由编译程序将C语言源文件转换成二进制中间文件,在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。
3
链接:将2中生成的中间文件组合成二进制可执行文件,这一步会对文件之间的关联做检查,如果出错,将不会生成可执行文件,也就无法执行。
4
执行:
运行可执行文件,这一步是编写代码的最终目的。
以上四步每步均依赖于上一步,这是一个逐步由高级语言(C语言)到机器语言(可执行文件)转化的过程。广义的编译,包含编译链接两个部分。
4. c语言中编译后得到的目标文件为什么不能直接运行,必须连接后才能运行
一编译单元(一个c文件)就会得到一个目标文件,而最终程序是一个EXE。所以需要链接。
同时链接需要按照操作系统的可执行文件格式要求组织。
5. c语言为何需要编译和连接才能运行
的文件(也称为源代码)而已,需要经过1定的处理才能转换成机器上可运行的可履行文件。
我们将对C语言的这类处理进程称为编译与链接。
热点内容