一遍编译
java 可以打成jar 包 放到任意的平台上去运行
B. c 一次编写到处编译什么意思
意思就是:
只要写好代码,在不同系统和开发环境中,都可以编译,编译的代码都可以正常运行。这就是代码的可移植性,也就是一次编写到处编译的意思。
C. 编译程序是什么意思编译是什么意思
编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。
(3)一遍编译扩展阅读:
结构:
编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。
编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。
可以把词法分析作为第一遍;语法分析和语义分析作为第二遍;代码优化和存储分配作为第三遍;代码生成作为第四遍。反之,为了适应较小的存储空间或提高目标程序质量,也可以把一个逻辑步骤的工作分为几遍去执行。
D. 用C语言对一个C语言的子集编制一个一遍的编译程序
呵呵,你们一个学期的作业还来只有30分
E. 为什么我每次编译都是全部重新编译
这里以 C 语言源程序为例,关于多个 C 语言源程序之间的编译顺序问题,这个是需要在 MAKEFILE 文本文件中写好多个 C 语言源程序的先后顺序,如果多个 C 语言源程序的先后顺序写得不正确,那么在使用 make 命令对 MAKEFILE 做相关的编译、链接工作时,就会把所有的 C 源程序都重新编译一遍(按理说:MAKEFILE 的最大好处就是:如果整个软件系统由多个 C 源程序组成,但是只有其中一个 C 源程序的代码做了改动,而其他的源代码没有做过任何改动,那么只需要编译这一个 C 源程序的目标文件,然后再和别的 C 源程序的目标文件相链接,生成最终的可执行文件即可,而不需要整个都重新编译一遍)
你再仔细把你的 MAKEFILE 文件中的各个 C 源程序的先后次序检查一下,看看是否写得有错误。写 MAKEFILE 文件也是需要仔细推敲的。
F. JAVA一次编译,处处运行原理(考试用的)
核心是java一次编译的结果是生成一种java虚拟机可以执行的.class文件。而只要装有java虚拟机的电脑就可以跑.class文件。基本上所有的操作系统都有它支持的java虚拟机,所以JAVA一次编译,处处运行。
G. 哪些特性使得“一次编译,到处运行”成为可能
虚拟机和字节码
标准API库。
首先程序不能处处运行的原因在两处,一个是CPU,一个是系统。CPU因为机器码不同的缘故,导致无法通用,解决办法,自己制作虚拟机,虚拟机运行字节码的方式,字节码可以认为是虚拟机的机器码(.net的虚拟机叫运行时其实道理一样)。。。如果编译成字节码,那么就能在虚拟机上运行,不管他是什么CPU,只要有运行字节码的虚拟机就OK。。。。
系统问题,系统不同系统内核和API不同,解决办法,标准API库,不同的系统的内核对象其实大致原理和功能相似只是实现不同,将API标准化为比如java API等等,问题被解决。。
但“一次编译,到处运行”只是个理想,几乎从来没有真正这么用过,。最主要还是API标准化几乎让这种事成为不可能。。。最简单的比如用手机打电话的功能,移植到PC上,PC根本没有这个功能,当然这是个极端的例子,到什么地方做什么事,统一根本无意义,只会带来兼容性麻烦。。。
H. Java的“一次编译到处运行”
JAVA的跨平台是有条件的!
就是在各个平台必须安装有JAVA运行的支持环境(Sun
Java
Runtime
Environment
)。
JAVA编译的结果是一种中间码,需要运行环境解释并执行。
而EXE生成的是最终二进制代码,只适合于某个特定的平台。
一般的开发都是在WINDOWS环境下,如果拿到LINUX之类的平台下显然不支持。
而现在的操作系统好象没有不支持JAVA的。
I. java的‘一次编译随处运行’是什么意思
说明了java的跨平台性,只要有java虚拟机的地方就可以运行java程序
J. 如何理解Java“一次编译到处运行”的特性
简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。
实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是Java字节码,这种字节码文件是不能直接在操作系统上执行的。要想在一个操作系统上运行一个Java程序必须有一个中间环节来负责将Java字节码解释成二进制码,这个中间环节就是Java虚拟机(简称JVM)。由于目前大多数操作系统已经实现了JVM,所以Java轻松实现跨平台性。
这是之前我在黑马程序员培训Java时候,老师讲解的,感觉老师讲的很好,分享给你,你要是学Java,推荐系统学习,去黑马程序员。