c# - 为什么我们不能使用文本编辑器读取 .EXE 文件中的 CIL?
问题描述
我知道 C# 编译器将 C# 代码转换为 CIL,然后由安装的 .NET 的 JIT 将其中的部分编译为运行时所需的机器代码。
编译器究竟做了什么,我们不能简单地用文本编辑器打开它并读取里面的 CIL 的 .exe 文件的形式是什么?
解决方案
CIL 的本机形式由二进制序列表示,而不是文本的、人类可读的代码。
我们看到的可读表示通常是由反编译器实现的,它不是驻留在可执行文件中的原始形式。
推荐阅读
- javascript - Javascript Array.reduce 奇怪的行为
- django - Rest Framework 将附加变量传递给 ModelViewSet
- java - 每天自动更新graphview
- vue.js - 可以将 v-for 与 :value 一起使用
- python - 在从 PDF 复制的 TXT 文件中插入正确的行尾
- docker - 如何使用防火墙限制对 Windows Server docker 容器的访问?
- html - 即使 iframe 在其中显示内部页面,它是否被视为空元素?
- flutter - 使用颤动图表滚动时性能缓慢
- php - Laravel 时间表不发送电子邮件
- directions - Directions API 在智能手机和 BlueStacks 上使应用程序崩溃,但在 Android Studio 模拟器上却没有