您现在所在的位置:>首页 > 生活 > 正文
结构化程序设计的三种基本结构(C语言、汇编语言、机器指令、CPU之间是怎么联系起来的)
发布时间:2022-09-25 22:44   浏览量:22

CPU的全称是中央处理单元,是计算机进行运算的核心,根据使用的技术不同,CPU又分为X86,X64,ARM、DSP、单片机等不同的体系结构。在每种CPU上都有一套特定的指令集,这就是人们常说的机器指令,直接使用机器指令编写的程序就是机器语言程序。

理论上来说,是可以通过机器语言直接编写任何程序的(早期都是直接使用机器语言编程,那时程序相对比较简单),并且编写的程序可以直接运行,但是使用机器语言编程对程序员的要求极高,代码无法移植且不便于人直接阅读,于是人们发明了一组符号,用来表示这些机器指令,这就是汇编语言。汇编语言编写的程序计算机无法直接运行,需要一个叫做汇编器的程序转换为机器语言才可以在特定机器上运行。

而C语言是比汇编语言更高级的语言,使用C语言编写的程序也是无法在计算机上直接运行的,它需要编译器将C语言代码转换为机器语言,这个过程又分为几个子步骤,见下图。

为了使题主的问题更加完善,在这里补充两个概念,链接器与反汇编。

在大型程序中,往往会将任务分解为许多不同的子任务,每个子任务对应一个源文件,在C语言中就是多个C文件,编译器将每个C文件编译成一个目标文件(一般在Windows中是obj文件,Linux中是

.o

文件),这些目标文件也是机器指令,但是缺少一些必要的信息,无法直接运行,需要链接器将这些文件链接起来,再加上一些库文件与可执行文件头信息,成为一个可执行文件(Windows是PE格式,Linux是ELF格式)。

通常,在查看一个二进制文件时(目标文件或者可行性文件),不会直接显示机器指令,而是以汇编语言显示,这是因为此过程中有一个反汇编程序,将机器指令转换为汇编语言,它的功能刚好与汇编过程相反。

标签:
2019全国一卷语文答案(今年全国一卷语文数学题目难度适中,估 脱式计算六年级上册(老公聊骚,一次又一次,现在感觉真的忍不 工程施工管理课程设计(工程管理专业的专业课主要有哪些) 山东省普通话水平测试(山东省普通话考试时间) 善意的谎言正方辩论词(不可以说谎辩论赛正反方事例) 毕业论文指导记录怎么写(毕业论文指导书长什么样) 发展中国特色社会主义文化(坚持我国政治文化建设的社会主义方 幼儿园体育游戏100例(幼儿园开展户外游戏和体育活动有哪些) 教师职称评定条件及流程(教师职称评审条件) 伤心歌曲500首(你认为最伤心的5首歌是什么)