简单介绍源程序执行方式

源程序执行方式

编译和解释

程序设计语言能够把算法翻译成机器能够理解的可执行程序。这里将计算机不能直接执行的非机器语言源程序翻译成能直接执行的机器语言的语言翻译程序称为语言处理程序

  • 源程序:用各种程序设计语言编写的程序称为源程序,计算机不能直接识别和执行

  • 目标程序:源程序必须由相应的汇编程序或编译程序翻译成机器能够识别的机器指令代码,计算机才能执行,这正是语言处理程序所要完成的任务。翻译后的机器语言程序称为目标程序

  • 汇编程序:将汇编语言源程序翻译成机器语言程序的翻译程序称为汇编程序。汇编语言源程序必须经过汇编程序翻译成计算机所能识别的目标程序后,才能被计算机执行。将汇编语言源程序转换为等价的目标程序的过程称为汇编

    在这里插入图片描述

  • 编译方式和解释方式:用高级语言编写的高级语言源程序也不能直接执行,需要经过高级语言翻译程序将源程序翻译成目标程序。翻译程序有两种工作方式:解释方式和编译方式,相应的翻译工具也分别称为解释程序和编译程序。

    • 解释方式是对高级语言源程序进行逐句解释,解释一句就执行一句,但不产生机器语言目标代码。早期的BASIC语言采用解释方式
      在这里插入图片描述

    • 编译方式是将高级语言源程序通过编译程序翻译成机器语言目标代码。大部分高级语言都采用编译方式

    在这里插入图片描述

源程序的运行过程

一个用户源程序在内存中执行通常都要经过以下几个步骤

  • 编译:由编译程序将用户源代码编译成CPU可识别的目标代码,产生若干个目标模块(程序段)
  • 连接:由连接程序将编译后形成的一组目标模块(程序段)以及需要的库函数连接在一起,形成一个完整的装入模块
  • 装入:由装入程序将装入模块装入物理内存。
  • 运行

以C源程序为例,一般要经过以下几个步骤:

  1. 上机输入和编辑源程序。源程序以文件形式存放在指定文件夹内,文件以.c作为后缀,如e.c。

  2. 对源程序进行编译,得到目标程序。由编译系统对源程序进行编译,得到的目标程序文件以.obj作为后缀,如 e.obj。

  3. 将目标程序与库函数连接,得到可执行的目标程序。得到的可执行目标程序文件以.exe作为扩展名,如e.exe。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ //练习 6.6 说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。

C Primer(第5版) 练习 6.6 练习 6.6 说明形参、局部变量以及局部静态变量的区别。编写一个函数,同时用到这三种形式。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /********************…

分享87个CSS3特效,总有一款适合您

分享87个CSS3特效,总有一款适合您 87个CSS3特效下载链接:https://pan.baidu.com/s/1CAxe8nPBzXvH7Nr6B_U72Q?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不…

更新至2022年,迪博上市公司内部控制指数、分项指数、评级等数据

更新至2022年,上市公司迪博内部控制指数、分项指数、评级等数据 1、时间:更新至2022年,四份数据,具体时间见下文 2、范围:上市公司 3、具体数据: 2000-2022年上市公司内部控制指数评级及评分数据 2007…

【JVM篇】什么是jvm

文章目录 🍔什么是Java虚拟机🛸Java虚拟机有什么用🌹Java虚拟机的功能🎈Java虚拟机的组成 🍔什么是Java虚拟机 JVM指的是Java虚拟机,本质上是一个运行在计算机上的程序,可以运行 Java字节码文件…

NAT——网络地址转换、NAPT

网络地址转换 NAT (Network Address Translation) 1994 年提出。 需要在专用网连接到互联网的路由器上安装 NAT 软件。 装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球 IP 地址。 所有使用本地地址的主机在和外界通信时,都要在 NA…

【教程】MySQL数据库学习笔记(三)——数据定义语言DDL(持续更新)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 文章目录 【MyS…

docker 1:介绍

docker 1:介绍 docker解决哪些问题: 传统APP在安装到不同电脑的时候可能会遇到依赖问题,比如缺少VS 20xx,软件无法运行”的情况。docker使用容器技术将软件 依赖​打包为image包发布,解决了依赖问题。docker有一个官…

MATLAB|【免费】高比例可再生能源电力系统的调峰成本量化与分摊模型

目录 主要内容 部分代码 结果一览 下载链接 主要内容 程序复现文献《高比例可再生能源电力系统的调峰成本量化与分摊模型》,从净负荷波动的角度出发,建立了调峰成本的量化与分摊模型,构造了无调峰需求的替代场景,将…

在Ubuntu22.04上部署FoooCUS2.1

Fooocus 是一款基于 Gradio的图像生成软件,Fooocus 是对 Stable Diffusion 和 Midjourney 设计的重新思考: 1、从 Stable Diffusion 学习,该软件是离线的、开源的和免费的。 2、从 Midjourney 中学到,不需要手动调整,…

优先级队列(堆)_PriorityQueue

前言 想要看如何使用可以通过目录跳转到 PriorityQueue的使用 优先级队列 概念 队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级,一般出队 列时,可能需要优先级高的元素先出队列,该中场…

前端秘法引言(配置vscode, 以及html的基础)

目录 一.配置环境vscode 二.配置插件 三.vscode的实用小技巧 四.标题段落换行标签 五.格式化标签 一.配置环境vscode vscode官网https://code.visualstudio.com/ 点击右上角的download 根据不同的操作系统进行下载安装,我这里选的是Windows x64 安装好后打开,点击左上角的…

【知识整理】产研中心岗位评定标准之测试岗位

为贯彻执行集团数字化转型的需要,该知识库将公示集团组织内各产研团队不同角色成员的职务“职级”岗位的评定标准; 一、定级定档目的 通过对公司现有岗位及相应岗位员工的工作能力、工作水平进行客观公正评定,确定各岗位的等级及同等级岗位员工对应的档级,从而为员工以后的晋升…

【开源】JAVA+Vue.js实现天然气工程运维系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司(施工单位)功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3.4 安…

九、java 继承

文章目录 java 继承3.1 根父类Object3.2 方法重写3.3 继承案例:图形类继承体系3.4 继承的细节3.4.1 构造方法3.4.2 重名与静态绑定3.4.3 重载和重写3.4.4 父子类型转换3.4.5 继承访问权限protected3.4.6 可见性重写3.4.7 防止继承final 3.5 继承是把双刃剑3.5.1 继承…

爬虫-华为云空间备忘录导出到docx-selenium控制浏览器行为-python数据处理

背景适用情况介绍 老的荣耀手机属于华为云系统,家里人换了新荣耀手机属于荣耀云系统无法通过云空间将备忘录转移到新手机,不想让他们一个一个搞,于是整了一晚上想办法爬取下来。从网页抓取下来,然后存到docx文档中(包…

福布斯2023年推荐:十佳项目管理软件榜单揭晓

项目管理软件可以轻松规划项目、分配任务并保持团队井井有条,以便满足截止日期和目标。然而当今市场上有如此多的项目管理系统,选择适合您需求的正确选项可能很困难。为了提供帮助,福布斯小型企业顾问团队分析了数十家领先的提供商&#xff0…

.NET高级面试指南专题七【SocketWebSocket】

Socket(套接字)是一种在计算机网络中实现通信的一种机制,它提供了一种标准的接口,使不同计算机上的程序能够通过网络进行数据交换。Socket允许在网络中的不同设备之间建立连接,进行双向的数据传输。 Socket通常用于实现…

Ubuntu如何使用宝塔面板部署开源论坛HadSky并结合内网穿透远程访问?

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置)2.4 公网访问测试 总结 前言 经过多年的基础…

php数组与字符串函数

php数组与字符串函数 1. php数组2. 字符串函数 1. php数组 在php中,有三种类型的数组: 数值数组 - 带有数字ID键的数组关联数组 - 带有指定的键的数组,每个键关联一个值多维数组 - 包含一个或多个数组的数组 2. 字符串函数 在PHP中&#xf…

耳机壳UV树脂制作私模定制耳塞适合什么样的人使用呢?

耳机壳UV树脂制作私模定制耳塞适合以下人群使用: 对音质要求高的人:私模定制耳塞能够完美契合用户的耳朵形状,减少漏音和外部噪音的干扰,提供更好的音质体验。需要长时间佩戴耳机的人:私模定制耳塞能够提高佩戴舒适度…