为什么要对C源程序进行编译、链接

求解... 求解 展开
 我来答
t1397018
推荐于2017-10-12 · TA获得超过380个赞
知道小有建树答主
回答量:494
采纳率:0%
帮助的人:249万
展开全部
这是一个编程基础的问题。
目前编程语言主要有两种类型,一种是编译型语言,一种是解释型语言。二者的区别在于:编译型语言需要编译、链接生成可执行文件之后才能运行,解释型语言直接就可以运行。C语言是一种编译型语言。

对于计算机来说,只能运行二进制的机器指令。为了方便编写指令给计算机,通过简单的替换之后有了汇编语言。但是汇编语言相对来说还是相当复杂,编写软件时工作量巨大。所以就有了如C语言,C++,JAVA之类的高级语言

这些语言其实是对汇编做了抽象封装。编译这个动作就是将C语言翻译成了汇编。C语言经过编译这个动作后每个.C文件都会生成一个OBJ,链接这个动作是将多个OBJ链接到同一个可执行文件中,最后生成的是EXE文件。
匿名用户
2013-09-12
展开全部
首先要说的是C语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。接着链接目标文件,生成可以执行文件。。。大概就是这样。。详细的LZ可看这个总结。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-12
展开全部
C 语言 属于 较为底层的语言 虽然说可以直接操控硬件但是 毕竟计算机 不是人他只认识 0 和 1 这些 当然就需要编译器来 为我们 翻译给 计算机听!! gcc编译出来的程序在本地执行
arm-linux-gcc编译出来的程序在目标机(ARM平台)上执行 嵌入式应该用交叉编译器(如果不是在ARM本身上开发)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-12
展开全部
程序设计语言分为两类;编译型和解释型。编译型的程序设计语言就需要先编译后运行,程序在编译会产生“中间代码”,这个过程与机器无关,而运行时是运行通过编译产生的“目标代码”即机器语言。如c语言就属于这种类型。解释型,不产生“中间代码”是边解释源代码,边执行解释生成的目标代码即执行机器代码。如java语言。注:计算机只识别机器语言,即二进制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式