用c语言编写的源程序需要用编译程序先编译成由机器语言组成的目标程序,在经过( )后才能得到可执行程序

A汇编B解释C连接D运行... A汇编 B解释 C连接 D运行 展开
 我来答
百度网友6fa3859
2016-01-04 · TA获得超过3349个赞
知道小有建树答主
回答量:1148
采纳率:85%
帮助的人:412万
展开全部
源代码需经过编译和链接,才可生成可执行文件
由汇编程序生成的目标文件并不能立即就被执行,其中可能还有许多没有解决的问题。 例如,某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如变量或者函数调用等);在程序中可能调用了某个库文件中的函数,等等。所有的这些问题,都需要经链接程序的处理方能得以解决。
  链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的这些目标文件成为一个能够诶操作系统装入执行的统一整体。
根据开发人员指定的同库函数的链接方式的不同,链接处理可分为两种:
  (1)静态链接
  在这种链接方式下,函数的代码将从其所在地静态链接库中被拷贝到最终的可执行程序中。这样该程序在被执行时这些代码将被装入到该进程的虚拟地址空间中。静态链接库实际上是一个目标文件的集合,其中的每个文件含有库中的一个或者一组相关函数的代码。
  (2) 动态链接
  在此种方式下,函数的代码被放到称作是动态链接库或共享对象的某个目标文件中。链接程序此时所作的只是在最终的可执行程序中记录下共享对象的名字以及其它少量的登记信息。在此可执行文件被执行时,动态链接库的全部内容将被映射到运行时相应进程的虚地址空间。动态链接程序将根据可执行程序中记录的信息找到相应的函数代码。
  对于可执行文件中的函数调用,可分别采用动态链接或静态链接的方法。使用动态链接能够使最终的可执行文件比较短小,并且当共享对象被多个进程使用时能节约一些内存,因为在内存中只需要保存一份此共享对象的代码。但并不是使用动态链接就一定比使用静态链接要优越。在某些情况下动态链接可能带来一些性能上损害。
淳延
2018-02-24 · TA获得超过1219个赞
知道小有建树答主
回答量:471
采纳率:89%
帮助的人:37.3万
展开全部
本题的答案是:选C。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2018-02-24 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6330万
展开全部
C正确,选C。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
记住一座城
2012-11-04 · TA获得超过728个赞
知道小有建树答主
回答量:1091
采纳率:33%
帮助的人:657万
展开全部
c
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小女子姓苏1
2018-02-24
知道答主
回答量:5
采纳率:0%
帮助的人:3615
展开全部
预编译,编译,汇编,链接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式