编译和运行的区别是什么

编译和运行的区别在于以下几个方面:1、编译就是将java代码交给编译器进行语法检查,如果没有错误就生成.class文件;2、运行就是将字节码文件(.class)交给java虚拟机执行,如果没有逻辑错误,就成功出现结果。

一、区别

编译就是将java代码交给编译器进行语法检查,如果没有错误就生成.class文件

运行就是将字节码文件(.class)交给java虚拟机执行,如果没有逻辑错误,就成功出现结果。

编译分成编译部分和链接部分,编译部分是把代码转换成二进制语言,链接部分是把二进制语言组合成可执行文件

即编译是把代码转换成可执行了文件的过程

执行就是把编译出来的文件放到系统中运行的过程,称为程序的运行

二、编译

包括编译和链接两个过程。

编译部分,是把源文件(代码)转换成机器可以识别的二进制语言,这个过程是针对每一个源文件的。

链接,是把编译生成的二进制文件,组合成为一个系统可以执行的可执行文件。

这两部分整体也叫编译。也就是说,广义的编译,就是把代码,转换成可执行文件。

三、运行

把编译出来的可执行文件,在系统中运行的过程,称为程序的运行。

延伸阅读

编译运行是什么

编译执行是一种计算机语言的执行方式。由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序如:PASCAL,C,C++等语言。效率高于解释执行。

使用编译执行的程序一般称为编译程序,这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。

编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。

下面举一个四遍扫描的例子:名列前茅遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。

值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。

在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时间

优缺点

优点

相比解释执行编译执行效率高,占用资源小,适合复杂程序

缺点

兼容性差,例如在windows平台上写的编译程序一般不可以在unix平台上运行。当然,如果只是简单的scanf,printf是可以的,但是像指针,内存分配,文件操作,多线程等,在一些相对复杂的系统问题就严重了。 更可怕的是拿源码到unix环境下编译通过了,但是运行却出问题,这种问题最要人命。 所以一般的做法都是这个程序会用在什么系统,就到什么系统环境去开发

文章标题:编译和运行的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39125

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月21日 下午4:40
下一篇 2023年2月21日 下午5:10

相关推荐

  • 单片机(51)的汇编和计算机的汇编有什么区别

    单片机(51)的汇编和计算机的汇编的区别:单片机(51)用的是8位的Intel汇编(8051),现在的计算机一般用的是64/32位的Intel汇编(x86),具体区别:1、寄存器结构不同;2、地址空间和寻址方式不同;3、支持位寻址不同;4、支持指令集扩展不同;5、起始地址不同。 一、单片机(51)的…

    2023年3月5日
    70800
  • int 和 long int 的区别在哪里

    区别在于:1、定义不同;2、表示数据类型不同、;3、表示数据范围不同;4、特点不同。int是一种数据类型,在编程语言中,INT是用于定义整数类型变量的标识符。long int表示一种长整型数据,是编程语言中的一种基本数据类型,默认为有符号长整型,含4个字节。 1、定义不同 int是一种数据类型,在编…

    2023年2月16日
    7.4K00
  • oa系统是指什么

    OA系统即办公自动化系统,它通过电子、通讯以及计算机技术集成,提高工作效率、改善办公条件、节省办公成本,实现数据的电子化处理与信息资源的共享。OA系统重要性体现在:它能够高效协调不同部门间的工作、处理日常文书工作、管理电子邮箱与日程、支持移动办公等功能。 办公自动化系统的重要性在于它涉及企业日常运作…

    2024年1月11日
    21000
  • devops需要会什么

    DevOps需要掌握的技术和能力, 包含:1、代码版本控制,2、持续集成与持续部署(CI/CD),3、自动化测试,4、容器化技术,5、监控与日志管理,6、云服务以及7、编程与脚本语言。其中,持续集成与持续部署(CI/CD)是DevOps中一个不可或缺的组成部分,它涵盖从代码提交到代码部署全过程的自动…

    2024年3月26日
    7200
  • 档案管理系统看板怎么做

    档案管理系统看板制作步骤:1、确定看板平台;2、创建主面板;3、添加列表;4、添加卡片;5、分配任务;6、更新状态;7、添加注释;8、汇报进展。确定看板平台是指选择一个在线协作平台,例如Trello、KanbanFlow或Asana等。 一、档案管理系统看板怎么做 1、确定看板平台 选择一个在线协作…

    2023年4月7日
    43800
  • devops认证是什么意思

    DEVOPS认证意味着一份正式的文凭或凭证,证明个体在DevOps领域拥有专业的知识和技能。其中主要有:1、强化跨功能团队合作、2、优化产品交付流程速度、3、提高服务质量及稳定性。 其中,对于加强团队之间的同步和合作尤为关键。DevOps文化鼓励软件开发(Dev)与信息技术运营(Ops)的团队紧密合…

    2024年3月26日
    6600
  • 如何为研发团队制定和执行有效的培训计划

    为研发团队制定和执行有效的培训计划的方法:1、确定培训目标;2、评估团队成员的需求;3、制定详细的培训计划;4、确定培训方法和形式;5、实施培训计划;6、跟踪培训效果;7、建立持续学习文化;8、建立导师制度;9、跨部门交流与合作;10、保持与业界同步;11、建立良好的沟通渠道;12、制定灵活的培训计划。

    2023年11月12日
    56500
  • 如何管理微信扣款项目

    如何管理微信扣款项目的关键在于 细心规划、有效管理财务、确保安全、持续监控、以及定期评估和优化操作流程。这种方法能够帮助企业或个人有效控制财务状况,减少不必要的损失,并提升资金的使用效率。细心规划 是这一过程中尤为重要的一步,它要求我们在项目开始之前就对预期的扣款额度、频率以及扣款来源进行详尽的分析…

    2024年4月10日
    4600
  • 在选择ERP系统时,开源与专有软件哪个更优

    在选择ERP系统时,企业应依据自身的特定需求和条件来确定是选择开源还是专有软件。开源和专有ERP系统各有优势和局限。开源ERP系统的主要优势在于成本效益、灵活性、自由的定制和强大的社区支持。专有ERP则在易用性、专业支持服务、安全性和合规性方面表现更佳。企业选择时需综合考虑这些因素:1、成本和预算、…

    2023年11月27日
    37700
  • 协众oa管理系统

    协众OA管理系统是一款专业的办公自动化软件,目的在于提升工作效率与管理水平。1、助力企业资源集中管理;2、优化流程,提升决策速度;3、加强安全性和保密性;4、提升员工协同工作效率。扩展介绍第二点,优化流程,提升决策速度,系统通过标准化的流程设计,实现信息的快速传递与处理,有助于缩短会议和审批的时间。…

    2024年1月15日
    23700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部