我认为这将是通用中级语言,但在记事本中,它看起来完全不是这样。它在现实中看起来比在教程中更丑陋吗?或者它是从CIL进一步编译的一些字节码形式?写入dotnet可执行文件的语言是什么?
回答
这是CIL是二进制格式的名称,而不是你想要的“汇编器”。
你可能会想象.NET程序集会是文本文件吗?
我可以想像它。我可以想象很多事情!但是,唉,我不能飞。 – Amy 2011-04-07 20:00:12
.NET可执行文件是一个二进制文件,它具有一个PE标头(与本机可执行文件相同,但值稍有不同)。 PE头告诉操作系统加载CLR,然后加载程序集。
超出标题的内容是CIL代码的二进制表示,以及一些元数据和其他内容。您在教程中看到的文本是CIL的文本表示,与您在关于汇编语言编程的教程中看到的汇编语言代码几乎就是二进制机器代码的文本表示形式相同。
请参阅http://www.yetanotherchris.me/home/2010/7/12/inside-net-assemblies-part-1.html(其中包括更多信息)。
.Net可执行文件不具有与本机可执行文件相同的格式。 – Guge 2011-04-07 20:38:52
@Guge:谢谢。我编辑了我的答案来澄清。 – 2011-04-07 22:26:44
.Net可执行文件通常不会被编写,它是从另一种语言编译的,例如C#,F#或VB.Net。
可执行文件的内容可以通过ILDASM工具查看。
内容首先是用于反射,签名或其他元代码目的的清单。
其次有自己的MSIL指令。这些都是一种字节码格式,但是ILDASM会告诉你这些指令是什么。
并且有时会将资源(如图像,声音或其他内容)打包到可执行文件中。
可执行文件或者在安装过程中(我认为这不常见)或者作为执行的先驱,被即时编译为本机代码。生成的本地代码可以存储以供重用。 (这是我在PDC 2001期间被告知的,可能是“过时”。)
- 1. 如何判断写入纯文本文件的语言是什么?
- 2. 这个文件写的是什么语言?
- 3. IIS写入了什么编程语言?
- 4. nginx conf文件是什么语言?
- 5. 什么是C语言头文件?
- 6. 这是用什么语言编写的嵌入式SQL?
- 7. 什么是开始写入的最佳语言操作系统
- 8. 什么语言是写入脚本的初始编译器?
- 9. 什么语言是最适合自动执行的事情?
- 10. 用C语言递归写入文件
- 11. 将语言选择写入jQuery文件?
- 12. Javascript语言,HTML写入文件
- 13. 什么是使用SaveFileDialog写入文件的语法
- 14. 为什么PHP需要“执行”权限才能写入文件?
- 15. 如何使用汇编语言编写可执行文件?(在emacs中)
- 16. 为什么可执行文件不可执行?
- 17. 什么可执行文件启动了我的可执行文件?
- 18. Swift语言中的switch语句,case子句中的执行顺序是什么?
- 19. DotNet - 什么是int *?
- 20. 在Appveyor中启动可执行文件的正确语法是什么?
- 21. RabbitMQ用什么语言编写的?
- 22. 什么编程语言的隐写?
- 23. 可以从C语言函数写入一个字文件吗?
- 24. 什么是Ruby的等效Python的sys.exe可执行文件?
- 25. 查找DLL的可执行文件的顺序是什么?
- 26. 什么语言是c#?
- 27. 什么是模板语言?
- 28. 什么是胶水语言?
- 29. 这是什么语言?
- 30. 这是什么语言?
是的,methinks它将是一个二进制表示! – 2011-04-07 19:56:04
这可能是一个不寻常的问题,但对于刚刚学习.NET的人来说,这个问题并不遥远。我认为它不值得赞扬。从我+1。 – 2011-04-07 20:38:06