编译和运行的区别是什么

编译和运行的区别在于以下几个方面: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

相关推荐

  • 团队协作是什么

    团队协作是指通过团队完成某项制定的事件时所显现出来的自愿合作和协同努力的精神。团队协作的基础是:1、建立信任;2、建立良性冲突;3、坚定不移地行动;4、无怨无悔彼此负责。团队协作如果运用的好,对管理团队特别的重要,可以培养团队的向心力。

    2023年1月4日
    46300
  • 企业里web项目用什么管理

    企业里web项目管理用的软件有:1、PingCode;2、Worktile;3、Asana;4、禅道;5、Redmine。PingCode是国内国内的一款知名研发项目管理软件,曾在2021年,被知名媒体36氪评为:2021年国内研发项目管理榜单第一的研发项目管理系统。 一、PingCode 这是国内…

    2023年4月21日
    800
  • 图解固件、驱动、软件的区别是什么

    固件(Firmware)就是写入 ROM (只读存储器)中的程序,固件担任着一个系统最基础最底层工作。驱动(Drive):驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。与硬件不同,软件是运行在电脑里,看不见摸不着。 一、固件 固件(Firmware)就是写入 ROM (只读存储…

    2023年4月30日
    1700
  • 最基本的办公软件有哪些

    最基本的办公软件有:1、Worktile;2、通达OA;3、金蝶OA;4、慧点OA;5、PingCode;6、Jira;7、Coding;8、Teambition;9、Trello;10、北极星OKR。其中,Worktie 是团队项目协作系统,能满足团队的任务、项目、文档、IM、目标、 日历、甘特图…

    2023年4月20日
    1100
  • gitlab怎么用

    gitlab的用法分为:1、基本操作;2、项目管理;3、用户管理;4、组管理;5、权限说明。其中,基本操作包括登录和修改密码,在浏览器地址栏输入http://10.6.2.160/ 回车,进入登陆界面。 一、基本操作 1、登录: 在浏览器地址栏输入http://10.6.2.160/ 回车,进入登陆…

    2023年4月19日
    1500
  • 软件版本管理工具有哪些

    软件版本管理工具有:一、SVN;二、Git;三、HG;四、CVS。SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。 一、SVN SVN全称为:Apache Subvers…

    2023年3月31日
    33100
  • html5有哪些新特性

    html5的新特性:1、语义标签;2、增强型表单;3、视频和音频;4、Canvas绘图;5、SVG绘图;6、拖放API;7、WebWorker;8、WebStorage;9、WebSocket;10、地理定位。其中,语义化标签使标签有自己的含义。

    2023年1月4日
    11900
  • 如何管理项目

    管理项目的方法:一、组织任务;二、有效管理最后期限;三、监控和完成项目。组织任务包括:1、确定项目的目标;2、创建一个待办事项列表;3、与您的团队一起查看列表;4、估计每个步骤的时间要求和成本;5、将任务组织到日程表中;6、分配任务。 一、组织任务 1、确定项目的目标。花点时间描述项目的目的以及它将…

    2023年2月22日
    1800
  • 项目需求的状态有哪些

    项目需求的状态有:一、未确认;二、已确认;三、实施中;四、已完成;五、已取消。未确认状态指的是项目需求还未被确认或者还未进行评估,需要进一步讨论和研究。这个阶段通常是需求的初始阶段,需要明确需求的性质、范围、目标、优先级等方面的信息。 一、未确认 未确认状态指的是项目需求还未被确认或者还未进行评估,…

    2023年4月16日
    12000
  • 移动硬盘检测工具有哪些

    移动硬盘检测工具有:1、HD Tune;2、AIDA64 Extreme;3、Crystaldiskinfo;4、SSD-Z;5、DiskGenius;6、HDDScan。HDTune是一款小巧易用的硬盘检测工具软件,HD Tune Pro也是一款适用于移动硬盘检测工具。

    2023年1月16日
    33100

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部