导航:首页 > 源码编译 > 编译机机器码

编译机机器码

发布时间:2022-12-25 00:00:29

① 为什么程序代码被编译成机器码就不能跨平台运行

首先机器码实际上就是一串的CPU的指令,比如说,把内存地址A的东西移到内存地址B,递增一下地址B的的东西。又或者说,把某个地址C的内容拷贝至某寄存器。所以实际上就是内容移动+少量的数值运算,全是基于内存进行的。
----------------------------------
那么之所以同一套机器码不能在不同的操作系统下运行的原因是:
不同的操作系统管理内存的方法不一样咯。计算机开机时,内存是空的,操作系统决定了如何摆放内存。比如操作系统A可能把自己的Runtime内核放在地址的前面XXXMB里。操作系统B可能愿意把自己的内核放在别的地方。就算哪怕不同的操作系统把内核放在同一个位置,内核里头的memory摆放也不一样的。
所以同一套内容移动的机器码,在不同的操作系统下自然产生了不同的效果。

② C语言编译到机器码的过程求详细解说,不胜感激

从编码到生成可执行的binary文件是有好几个过程的:(默认已完成编码)
1, 预编译(预处理), 也就是替换工作, 先把代码中的宏做替换, 条件编译等会做处理,为编译做作准备;
2,编译,包括了语法的检查,汇编代码等中间代码的生成,代码优化,obj文件(也算是目标代码)的生成,已经是有机器码了;
3.库的合成,这个不一定有,不是必须的;
4.链接, 连接器会按照一定的规则,比如根据连接脚步,把code组织起来,生成elf文件(elf可能不是一个所有通用的格式),这个时候已经可以执行了,里面的可以执行的机器码;
5,裁剪, 可以把elf文件中的非必需的段 strip,生成一个更精简的elf文件;
6,binary的生成,obj命令可以把elf文件转换成binary文件,binary文件烧录到存储器中可以直击运行。

③ delphi编译出来是机器码吗还是虚拟机执行的

delphi 编写的程序代码,根据选择平台的不同,会编译生成相应平台的机器码,不是虚拟机执行。

java程序编译后会产生字节码还是机器码

Java编译后是字节码,C/C++以前全都是是机器码。
电脑只能运行机器码。Java在运行的时候把字节码变成机器码。
C/C++在编译的时候直接编译成机器码。

不过现在微软的Visual Studio C++ 2005以后的C++也可以编译成字节码,用CLR运行是转换成机器码(和Java差不多)。

⑤ C语言代码编译成的是机器码,那么怎么实现可移植性呢

C语言写的代码编译成了机器码,与编译器有关,与当前的电脑的CPU没有关系

有个概念叫交叉编译,我们做嵌入式的,就靠这个工作了
也就是在PC上编译的机器码,下载到其他的芯片里面,让它在这个芯片里运行

只要其他的电脑也支持同样的编译器产生的机器码,就可以一致到它上面

⑥ 请问c语言的源程序被编译后的代码是机器码吗

首先语言和被编译成的代码没有直接关系。有把Java编译成机器码的编译器也有把C语言编译成Java字节码的编译器。

机器码只是CPU直接认读的编码,不等于和硬件打交道的。操作硬件是你通过程序操作CPU做到的。操作系统只不过是别人写的程序而已,说到底还是程序。

⑦ 高级语言编译成的机器码和汇编成的机器码有什么不同,为什么高级语言可以通用而汇编的不可以

高级语言编译生成的机器码总体来说是冗长、效率低些;由汇编语言汇编生成的机器码总体说是简洁、高效。
所谓的通用是源程序的可移植性,高级语言的源程序对于不同的体系结构的计算机是基本一致的,只需用相应的编译器重新编译下就可以运行;而汇编语言源程序是直接与cpu的体系相对应的,要在别的体系结构的机器上运行,需要重新编写源程序。

⑧ 程序编译后的机器码是在内存,还是硬盘

程序编译后,机器码是存在硬盘。

在执行时,机器码,被操作系统,读入内存。

⑨ 编译时选择机器码,能反编译出来吗

可以说绝大部分的程序是不能反编译的,因为同样的机器码,可以由多种不同的高级语言的程序代码生成,所谓殊途同归,不管外表看起来多么不同的代码,编译后生成的机器码也可能完全一样的

阅读全文

与编译机机器码相关的资料

热点内容
移动花卡宝藏版为什么不能选免流app 浏览:255
速腾carplay怎么用安卓 浏览:13
红塔银行app怎么样 浏览:564
农行app怎么开网银 浏览:651
java迭代器遍历 浏览:303
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:205
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:870
程序员编迷你世界代码 浏览:897
php取现在时间 浏览:248
单片机高吸收 浏览:429
怎么区分五代头是不是加密喷头 浏览:246
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692