返回顶部
首页 > 资讯 > 精选 >C#中间语言及ILDASM工具怎么使用
  • 242
分享到

C#中间语言及ILDASM工具怎么使用

2023-06-29 01:06:18 242人浏览 八月长安
摘要

本文小编为大家详细介绍“C#中间语言及ILDASM工具怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中间语言及ILDASM工具怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。当我们编译 .ne

本文小编为大家详细介绍“C#中间语言及ILDASM工具怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中间语言及ILDASM工具怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

当我们编译 .net 应用程序时会发生什么?

当我们编译任何 .NET 应用程序时,它将生成一个程序集,该扩展项可以是 。DLL 或 。Exe。

例如,如果编译窗口或控制台应用程序,则将得到 .EXE,而如果编译 WEB 或类库项目,则会得到 .DLL。

不管它是否是 .DLL 或 .EXE,一个程序集由两个事物组成(清单语言和中间语言)。

了解C#中的中间语言

为了理解 C# 中的中间语言,下面创建一个简单的控制台应用程序。如下所示。

C#中间语言及ILDASM工具怎么使用

现在,构建应用程序。生成应用程序后,将编译上述源代码,生成中间语言并打包到程序集中。

要查看程序集,只需右键单击"项目"并选择"文件资源管理器中的打开文件夹"选项,然后转到 bin => 调试文件夹,您应该会看到具有 .exe 扩展名的程序集,如下所示,因为它是控制台应用程序。

C#中间语言及ILDASM工具怎么使用

如何查看 C# 中的中间语言代码?

.NET 框架提供了一个名为 ILDASM(中间语言肢解)的漂亮工具来查看中间语言的代码。要使用 ILDASM 工具,您需要按照以下步骤操作。

在管理员模式下打开可视工作室命令提示符,如下所示。

C#中间语言及ILDASM工具怎么使用

打开视觉工作室命令提示符后,键入"Ildasm.exe C:\您的目录路径\您的组装.exe"命令并按 enter。

在这里,您需要提供生成 exe 的 exe 路径。我的exe在路径"C:\Users\zhouh\source\repos\ILDASDemo\ILDASDemo\bin\Debug\ILDASDemo.exe"中生成,所以我在命令提示符中执行以下代码:

C#中间语言及ILDASM工具怎么使用

输入以上命令并按下Enter后, 将打开以下 ILDASM 窗口。

C#中间语言及ILDASM工具怎么使用

如您所看到的,程序集由两个事物(清单语言和中间语言)组成。让我们先讨论中间语言代码,然后讨论什么是清单。

现在,让我们扩展 ILDASDemo 并将其与代码进行比较。为了更好的理解,请看下图。

ILDASM 中存在一个构造函数,这是因为默认情况下,当类中没有构造函数时,.NET Framework 会提供默认构造函数。

C#中间语言及ILDASM工具怎么使用

现在,单击 ILDASM 窗口中的主方法以查看为 Main 方法生成的中间语言,如下所示。

C#中间语言及ILDASM工具怎么使用

什么是清单?

清单包含有关程序集的元数据,如程序集的名称、程序集的版本号、区域性和强名称信息,如下图所示。

C#中间语言及ILDASM工具怎么使用

元数据还包含有关引用程序集的信息。每个引用包括从属程序集的名称、程序集元数据(版本、区域性、操作系统等)和公钥(如果程序集是强名称)。

如何更改程序集信息?

还可以使用属性更改或修改程序集清单中某些信息。例如,如果要修改版本号,则需要执行以下步骤。

打开AssemblyInfo.cs"属性"文件夹下显示的类文件,如下所示。.NET 中的每个项目都有一个属性文件夹。

C#中间语言及ILDASM工具怎么使用

如何将中间语言代码导出到文本文件?

从ILDASM 工具中选择文件菜单选项,然后选择转储,您将看到"转储选项窗口",然后单击"转储选项窗口"上的"确定"按钮,如下所示。

C#中间语言及ILDASM工具怎么使用

点击确定后,会让指定一个保存路径和填入你需要保存的名称, 最终保存il文件结尾的文件。当使用记事本打开,那么将应该看到程序集元数据和 IL 代码。

如何从包含清单和 IL 的文本文件重新生成程序集?

如果要从 IL 代码重建程序集,则需要使用名为 ILASM.exe 的工具, 如下所示, 输入ILASM.exe 空格+ il文件的地址

C#中间语言及ILDASM工具怎么使用

按下Enter键之后, 中间语言汇编器将把我们的il代码重新构建成程序集,并且在指定的路径生成exe文件。 如下所示:

C#中间语言及ILDASM工具怎么使用

因此,我们使用ILASM.exe(中间语言汇编器)从包含清单和 IL 的文本文件重建程序集。

读到这里,这篇“C#中间语言及ILDASM工具怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: C#中间语言及ILDASM工具怎么使用

本文链接: https://lsjlt.com/news/321828.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#中间语言及ILDASM工具怎么使用
    本文小编为大家详细介绍“C#中间语言及ILDASM工具怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中间语言及ILDASM工具怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。当我们编译 .NE...
    99+
    2023-06-29
  • C#中间语言及ILDASM工具用法
    当我们编译 .NET 应用程序时会发生什么? 当我们编译任何 .NET 应用程序时,它将生成一个程序集,该扩展项可以是 。DLL 或 。Exe。 例如,如果编译窗口或控制台应用程序,...
    99+
    2024-04-02
  • 怎么使用Go语言实现Ping工具
    这篇文章主要讲解了“怎么使用Go语言实现Ping工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Go语言实现Ping工具”吧!Ping是一种众所周知的网络诊断工具,它通过向目标服务...
    99+
    2023-07-06
  • 实用的Go语言开发工具及使用示例
    目录前言json-to-goyaml-to-gotable-to-go命令行调用Go 代码调用前言 孙悟空在花果山称王的时候,特意去了一趟东海,在那里淘到了如意金箍棒。因为身为一个山...
    99+
    2024-04-02
  • 怎么用C++语言做Linux开发工具粘合剂
    这篇文章主要讲解了“怎么用C++语言做Linux开发工具粘合剂”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C++语言做Linux开发工具粘合剂”吧!我想通过“粘合剂”这个词来表达将多...
    99+
    2023-06-16
  • Go语言中io/ioutil工具如何使用
    今天小编给大家分享一下Go语言中io/ioutil工具如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。读取文件读取文件...
    99+
    2023-06-30
  • c语言中flag怎么使用
    在C语言中,flag通常用作一个布尔变量,用于表示某个条件是否成立。flag的值可以是0或1,分别表示条件不成立和条件成立。下面是一...
    99+
    2023-09-27
    c语言
  • c语言中register怎么使用
    在C语言中,`register`是一个关键字,用于声明一个寄存器变量。通过声明一个变量为`register`,你告诉编译器该变量将经...
    99+
    2023-09-13
    c语言
  • c语言中getchar怎么使用
    在C语言中,getchar()函数用于从标准输入(键盘)获取一个字符。使用getchar()函数的基本语法如下:...
    99+
    2023-09-05
    c语言 getchar
  • C语言中return怎么使用
    在C语言中,`return`用于从函数中返回一个值。它的用法可以分为以下两种情况:1. 返回一个值:```creturn 值;```...
    99+
    2023-08-19
    C语言 return
  • C语言中continue怎么使用
    本篇内容介绍了“C语言中continue怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言continue语句的作用是跳过本次循环体...
    99+
    2023-07-04
  • c语言中product怎么使用
    在C语言中,product是一个函数或者变量的名字,具体使用方法取决于其定义和上下文。 如果product是一个函数,使用方法如...
    99+
    2024-02-29
    c语言
  • c语言中char怎么使用
    c语言中char类型用于存储单个字符,它是一种8位有符号整数,取值范围为-128至127。定义char变量时用char关键字,初始化时用单引号括起字符,如char ch = 'a'。ch...
    99+
    2024-05-21
    c语言 隐式转换
  • c语言中printf语句怎么使用
    在C语言中,printf语句用于打印输出到控制台。它的基本语法如下:```cprintf("格式控制字符串", 参数列表);```其...
    99+
    2023-09-15
    C语言
  • c语言中goto语句怎么使用
    这篇文章主要介绍“c语言中goto语句怎么使用”,在日常操作中,相信很多人在c语言中goto语句怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”c语言中goto语句怎么使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • c语言中sizeof语句怎么使用
    在C语言中,sizeof是一个运算符,用于计算一个数据类型或变量的大小(以字节为单位)。sizeof语句的一般语法如下: sizeo...
    99+
    2024-02-29
    c语言
  • 详解Go语言中io/ioutil工具的使用
    目录读取文件写文件读取文件夹下所有文件信息创建临时文件和临时文件夹拷贝文件小结学习笔记,写到哪是哪。 接着上一篇,我们看看io/ioutil工具如何使用,简化文件操作。 读取文件 读...
    99+
    2024-04-02
  • Linux常用的C语言开发工具是什么
    这篇文章主要介绍“Linux常用的C语言开发工具是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux常用的C语言开发工具是什么”文章能帮助大家解决问题。linux下的C语言开发(makef...
    99+
    2023-06-28
  • c语言中区间怎么表示
    c 语言中区间表示使用方括号,左侧表示左端点,右侧表示右端点。区间类型包括包含端点的闭区间、不包含端点的开区间以及半开半闭区间。c 语言提供了区间合并、减法、交集、余集等运算符。通过示例...
    99+
    2024-05-02
    c语言
  • C语言实现时间处理工具的示例代码
    目录c语言-时间处理工具头文件功能实现c语言-时间处理工具 头文件 #ifndef STUDY_TIME_UTIL_H #define STUDY_TIME_UTIL_H lon...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作