编程语言,可执行文件,cpu执行指令流程的一些理解

  • 硬件执行指令

从cpu的角度来看,机器工作的过程就是通过一个不断的加载并执行指令过程。指令由指令码和操作数据组成,根据指令和数据不同组合为不同长度和内容的二进制字节串。

  • 高级语言(C语言)编程

在C语言中,有不同数据类型(char, short, int, float, double等)的变量,变量之间可以执行加减乘除等不同的操作,程序流除了顺序执行之外还可以有条件选择和循环执行;程序还可以定义函数,将相关逻辑分类然后重复调用;除了自己写的代码之外还可以调用系统的函数库,使用许多系统提供的功能强大多样的函数;还有……

 

那么, c语言编写的代码最终是如何转换为一系列连续的底层指令供cpu加载调用的呢?

 

 

源代码 --编译器--> 可执行文件(ELF/PE) --加载器--> 程序加载到内存并传递到cpu执行

 

 

以下以linux平台下gcc编译c语言为例讲解,其它平台和编译型语言可能细节不同,但大体原理基本相同。

 

 

写作中,待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值