首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET汇编语言

.NET汇编语言
EN

Stack Overflow用户
提问于 2013-08-31 11:02:28
回答 2查看 624关注 0票数 1

我理解反编译程序和反汇编程序(.net反汇编程序/反编译器)之间的区别,即反汇编程序允许您将机器代码转换为汇编语言(在Visual的反汇编窗口中可以看到),反编译器将汇编语言转换为高级语言,例如C#。

是否可以在文本文件中看到由Jitter生成的程序集代码(从反汇编窗口)?我怀疑这并不是因为它是为了准时而优化的。

此外,在我的第一个问题的上下文中,MSIL是汇编语言还是高级语言?也就是说,在.NET中,似乎有两种汇编语言,即MSIL和由抖动生成的汇编语言,尽管我怀疑答案是JITTER生成机器代码,它在Dissassembly中被格式化为汇编语言。

我花了很多时间在这里阅读其他的问题,但我没有找到答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-31 12:39:09

我认为在这里理解定义是很重要的(看起来你大部分时间都这么做,这只是为了确保)。

首先,汇编语言:这是任何人类可读的语言,其中每条语句直接编译成某种机器代码中的指令(例如,x86机器代码或.Net字节码)。

基于此,反汇编程序是一个逆转编译的程序:它将机器代码转换为相应的汇编语言。

反编译器将机器代码转换为另一种语言。

也许所有选项(包括de-/编译C/C++和假设x86计算机)的映像都会有帮助:

现在,针对你的具体问题:

是否可以在文本文件中看到由Jitter生成的程序集代码(从反汇编窗口)?

从理论上讲,这是不可能的(尤其是考虑到NGEN)。实际上,我不知道任何这样的工具。

在我的第一个问题的上下文中,MSIL是汇编语言还是高级语言?

我想说这是一种高级汇编语言。这当然是一种汇编语言,也是比普通汇编语言更高级的语言。

票数 7
EN

Stack Overflow用户

发布于 2013-08-31 11:18:03

IL/MSIL是一种针对.NET虚拟机的汇编语言:-)反汇编窗口显示程序跳转后的汇编语言,因此"real“CPU的汇编语言(通常是Intel)。

通过使用恩根,您可以编译您的.NET应用程序为“本机”机器代码。从那里,您可能可以使用“标准”反汇编程序来观察它的内部。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18547417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档