高级语言编的程序可以在不同系统机器上用吗?

2025-03-22 04:58:25
推荐回答(3个)
回答1:

首先 要理解什麽样的是高级语言
高级语言的运行机制
高级语言 都有自己的一套编译环境
将这些语言编译成 自己编译环境 可以解读的代码形式
然后 再解析为 系统所 识别的代码形式
也就是 系统级代码
高级语言的可移植性 是能移植 到 各种系统 而不是
直接解析为机器码 让cpu等硬件去执行
是 解析为系统级代码
如dos 的命令 一样 让系统识别 系统识别了 命令和代码 才会解析为 机器代码
高级语言的可移植性 是 可以 移植到别的系统
系统来解析语言让 其 可以在机器上运行
所以 高级语言的 都是 先将代码解析给 系统
再去做相应的处理
windos 的exe 文件 和linux 的 .bin 文件
同为2进制文件 但是 这些代码是给不同系统去识别的

系统能识别 才能运行 才能让硬件 支持
比如java 它有一套自己的运行环境 jvm 虚拟机
它现将 java 文件解析 为class 文件
然后将class 文件解析为 系统所对应的2进制格式的代码
然后交给系统 系统识别了 再交给 各个硬件去处理
所以 高级语言的可移植性 是基於平台的
没有平台 这些高级语言是没有办法 让 硬件 工作的
低级语言 如汇编就是 直接去通过编译器
编译成 各个 硬件所能支持 然后再运行的

不知道 这个答案 符合你的要求不

回答2:

编译是必需的,因为我们写的不是机器码。你说的高级语言是不是java这类的?我懂的不多,就我个人理解,C语言写程序针对不同的硬件和系统写的就不一样,因为C直接编译为机器码,不同的机器就看不懂。而java是编译成CLASS中间码,这个码只有jvm(java虚拟机)看的懂,而不同设备的jvm也不一样,比如windows和linux安装的jvm就不一样,但可以运行同一个java程序,也就是你不用担心他们在不同硬件和系统里的实现不同,这些交给jvm

回答3:

据我所知,是不能的。