首页 > 其他分享 >1、基础语法

1、基础语法

时间:2023-05-11 15:23:07浏览次数:37  
标签:语言 代码 基础 语法 编译 执行 CPU 机器指令

1、代码是如何被执行的

1.1、解释型、编译型、混合型语言

(1)编译型语言

对于类似 C++ 这样的编译型语言,代码会事先被编译成机器指令(可执行文件),然后再一股脑儿交给 CPU 来执行
在执行时,CPU 面对是已经编译好的机器指令,直接逐条执行即可,执行效率比较高
但因为每种类型的 CPU(比如 Intel、ARM 等)支持的 CPU 指令集不同,并且程序还有可能调用操作系统提供的 API
所以,编译之后的可执行文件只能在特定的操作系统和机器上执行,换一种操作系统或机器,编译之后的可执行文件就无法执行了

(2)解释型语言

对于类似 Python 这样的解释型语言,代码并不会被事先编译成机器指令
而是在执行的过程中,由 Python 虚拟机(也叫做解释器)逐条取出程序中的代码,编译成机器指令,交由 CPU 执行
完成之后,再取出下一条代码,重复上述的编译、执行过程
这种一边编译一边执行的过程,叫做解释执行

解释型语言相对于编译型语言,执行速度会慢一些
因为程序是在执行的过程中一边编译一边执行的,所以,程序整体的执行时间包含了程序编译的时间
不过,使用解释性语言编写的代码,可移植性更好
程序在执行的过程中,虚拟机可以根据当前所在机器的 CPU 类型和操作系统类型,翻译成不同的 CPU 指令
这样,同一份代码就可以运行在不同类型的机器和不同类型的操作系统上,这就是常听到的 "一次编写,到处运行"

标签:语言,代码,基础,语法,编译,执行,CPU,机器指令
From: https://www.cnblogs.com/lidong422339/p/17391137.html

相关文章

  • 论文解读|MetaAI图像分割基础模型SAM——解锁数字大脑“视觉区”
    原创|文BFT机器人内容提要事件背景: 2023年4月5日,MetaAI研究团队发布论文“分割一切”一《SegmentAnything》并在官网发布了图像分割基础模型一SegmentAnythingModel(SAM)以及图像注释数据集Segment-Anything1-Billion(SA-1B)。论文核心观点:目标: MetaAI的目标是通过引入......
  • python基础语法
    python基础语法python数据类型初探数据类型初探int类型:整数float类型:浮点数str类型:字符串,以成对单引号或双引号包裹bool:True或False注意:我们可以通过type()函数输出数据类型python标识符标识符介绍所谓的标识符就是对变量、常量、函数、类等对象起的名字标识符命......
  • 2-Mybatis基础
    1.Mybatis概述1.1.Mybatis概念MyBatis是一款优秀的持久层框架,用于简化JDBC开发MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github官网:https://mybati......
  • python基础学习-hashlib - 哈希函数模块
    hashlib-哈希函数模块参考地址:Python-Core-50-Courses/第20课:Python标准库初探.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)待补充......哈希函数又称哈希算法或散列函数,是一种为已有的数据创建“数字指纹”(哈希摘要)的方法。哈希函数把数据压缩成摘要,对......
  • python基础学习-random
    参考地址:Python-Core-50-Courses/第20课:Python标准库初探.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)待补充......random-随机数和随机抽样模块生成随机数、实现随机乱序和随机抽样,下面是常用函数的列表。getrandbits(k):返回具有k个随机比特位的整数......
  • python基础学习-os.path - 路径操作相关模块
    参考地址:Python-Core-50-Courses/第20课:Python标准库初探.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)待补充......os.path模块封装了操作路径的工具函数,如果程序中需要对文件路径做拼接、拆分、获取以及获取文件的存在性和其他属性,这个模块将会非常有帮助......
  • JS逆向基础
    JS逆向基础简单记录一下JS逆向用到的一些知识。一、常见的加密算法及特点MD5:加密后有16位和32位,以0-9和小写a-f组成。其中16位的就是截取中间的第9至第24位,判断是否以MD5加密,主要看一下两点:是否符合16位或32位,加密后的结果是否是0-9,A-F。AES:对称加密算法,加密和解密用同......
  • js基础---js操作dom元素节点的方法
    replaceWith():使用括号内元素替换当前元素remove():删除当前元素解决点击a标签不跳转页面的方法......
  • python基础学习-面向对象
     Python-Core-50-Courses/第17课:面向对象编程入门.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)Python-Core-50-Courses/第18课:面向对象编程进阶.mdatmaster·jackfrued/Python-Core-50-Courses(github.com)......
  • 计算机网络基础
    TCP/IP四层协议第一层:应用层域名系统DNS、万维网HTTP协议、电子邮件SMTP第二层:运输层TCP/UDP:传输控制协议/用户数据协议第三层:网络层IP协议第四层:数据链路层 IP协议网际协议IP数据包中包含发送它主机的IP地址(源地址)和接收它主机的IP地址(目的地址)特点:不可靠、无......