Java编译生成的.class文件存的是字节码,那么.net EXE中究竟是IL还是机器码? C#

 我来答
隆让栾春
2020-03-09 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:29%
帮助的人:982万
展开全部
.Net编译好的不是汇编指令,而是IL指令,Java是字节代码
JIT
运行时.Net装载入口Assembly,CLR公共语言运行时运行代码创建主应用程序域,然后CLR提取代码从IL编译为汇编指令并执行,循环到第二部分代码。。。每部分代码都是即时编译(JIT)。代码运行中CLR监视内存使用情况并处理废品回收等等。
Java
不同的是编译为字节代码,字节代码有一套通用的语法,可以跨平台。字节代码是解释性的。Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的interpreter(解释器)负责将字节码文件解释成为特定的机器码进行运行。
捷增岳蒉媪
2020-03-16 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:29%
帮助的人:841万
展开全部
都有.
每个exe都有一条跳转到mscoree.dll的_CorExeMain函数的机器码.
_CorExeMain会负责初始化运行环境并查找exe镜像中的IL并运行.
剩下的同一楼.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韩雪毕子
2020-04-26 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:29%
帮助的人:1100万
展开全部
可以用系统提供的NGen.exe工具生成本地代码
这样做的好处是加快启动速度,减小程序工作集,
但是会降低性能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敖雁邗溪
2020-03-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:857万
展开全部
那么是不是每次运行EXE都有一次编译过程,哪怕第二次运行的指令集与第一次完全相同?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式