iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#中间语言和元数据是什么
  • 482
分享到

C#中间语言和元数据是什么

2023-06-17 23:06:16 482人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“C#中间语言和元数据是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中间语言和元数据是什么”这篇文章吧。NGWS RuntimeNGWS和NGWS Runtim

这篇文章主要为大家展示了“C#中间语言和元数据是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中间语言和元数据是什么”这篇文章吧。

NGWS Runtime

NGWS和NGWS Runtime为你提供了一种运行时环境。该运行时管理执行代码,并提供了使编程更容易的服务。只要你的编译器支持这种运行时,你就会从这种受管理的执行环境中得益。

你猜测C#编译器支持NGWS runtime很正确,但是不仅它支持NGWS runtime,VB和c++也支持。这些为支持运行时所创建的代码称作"受管代码"(managed code)。以下是你的应用程序从NGWS runtime那里所得到的利益:
◆交叉语言集成(通过通用语言规范)
◆自动内存管理(垃圾收集)
◆交叉语言异常处理(统一展开)
◆增强安全(包括类型安全)
◆版本支持("DLL地狱"终结者)
◆组件交互简化模式

因NGWS runtime 要提供了所有的这些好处,编译器必须把元文件和受管代码一起发出。元文件描述代码中的类型,它和你的代码存在一起(与PE类似——PE为可变位执行文件)

正如你从很多种交叉语言功能所看到的,NGWS runtime主要是关于高度集成交叉多异编程语言(tight integration across multiple different programming languages)。这种支持可达到允许你从一个VB对象派生出一个C#类的程度(我后面会给出要讨论的文章)。

C#程序员将会喜欢的一个功能是,他们不必担心内存管理-也就是说不必担心臭名昭著的内存泄漏。NGWS runtime提供了内存管理,当对象和变量的生命期结束(不再被引用)时,垃圾收集器释放它们。我真的喜欢这个功能,因为在COM中的内存管理一直是我的一块心病。

应该鼓励配置一个管理应用程序或者组件。因为管理应用程序含有元数据文件,NGWS runtime可以利用这些信息,以确保你的应用程序具有它所需的各种规定版本。所产生的明显效果为,由于你的代码没有相互之间的依赖,很少可能出现中断。

这章余下来讨论NGWS runtime的C#中间语言和元数据,直到你的C#应用程序能执行为止。

C#中间语言和元数据

由C#编译器生成的受管代码并不是原始代码,但它是中间语言代码。这种中间语言代码自身变成了NGWS runtime的受管执行进程的入口。中间语言代码明显的优势在于它是CPU无关的,这也意味着,你要用目标机器上的一个编译器才能把中间语言代码转换成原始代码。

尽管中间语言代码由编译器产生,但它并不是编译器提供给运行时仅有的东西。编译器同样产生有关你代码的元数据,它告诉运行时有关你代码的更多的东西,例如各种类型的定义、各种类型成员的签名以及其它数据。基本上,元数据是类型库、注册表内容和其它用于COM的信息。尽管如此,元数据还是直接和执行代码合并在一起,并不处在隔离的位置。

C#中间语言和元数据存放于扩展了PE格式的文件中(PE格式用于。exe和。dll文件)。当这样的一个PE文件被装载时,运行时从文件中定位和分离出中间语言和元数据.

在进一步说明之前,我想给你已有的中间语言指令的简短目录。尽管它不是一个完整的清单,也不需要你熟记和理解,但是它列出了你所必需的、C#程序所基于的知识基础。
◆算术和逻辑操作符
◆控制流
◆直接内存访问
◆堆栈操作
◆参数和局部变量
◆堆栈分配
◆对象模式
◆实例类型值
◆临界区
数组
◆分型位置
◆即时编译器(JITters)

以上是“C#中间语言和元数据是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: C#中间语言和元数据是什么

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中间语言和元数据是什么
    这篇文章主要为大家展示了“C#中间语言和元数据是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中间语言和元数据是什么”这篇文章吧。NGWS RuntimeNGWS和NGWS Runtim...
    99+
    2023-06-17
  • c语言数据结构是什么
    c语言数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。C语言是...
    99+
    2023-08-09
  • go语言和c语言是什么
    这篇文章主要介绍了go语言和c语言是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言和c语言是什么文章都会有所收获,下面我们一起来看看吧。Go(又称Golang)是Google开发的一种静态强类型、编...
    99+
    2023-07-04
  • C语言中数据存储方式是什么
    这篇文章主要介绍“C语言中数据存储方式是什么”,在日常操作中,相信很多人在C语言中数据存储方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中数据存储方式是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-08
  • c语言中+=和-=是什么意思
    c 语言中的 += 和 -= 运算符是赋值运算符,允许将变量的值加上或减去一个值的快捷方式。+= 运算符将变量的值增加指定的量,而 -= 运算符将变量的值减少指定的量。 在 C 语言中...
    99+
    2024-04-28
    c语言
  • C语言中数组和指针,内存之间的关系是什么
    小编给大家分享一下C语言中数组和指针,内存之间的关系是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先论证一维数组和一级指针之前的关系,我们常常使用一级指针...
    99+
    2023-06-29
  • go和c是什么语言
    Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言;Go语言语法与C相近,但功能上有内存安全、GC(垃圾回收)、结构形态及CSP-style并发计算。C语言是一门面向过程的、抽象化的通用...
    99+
    2023-05-14
    go语言 Golang C语言
  • C语言中的时间函数clock()和time()有什么用
    小编给大家分享一下C语言中的时间函数clock()和time()有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!时间函数在编写代码的时候会经常用到,下面就来...
    99+
    2023-06-29
  • c语言中::是什么
    c++kquote>c++ 中的双冒号 (::) 用于:1. 全局命名空间访问;2. 命名空间限定;3. 枚举常量访问;4. 静态方法调用;5. 基类引用。 C++中的双冒号 (...
    99+
    2024-04-13
    c语言 c++
  • c语言中?:是什么
    在 c 语言中,: 是条件运算符,又称三元运算符,可根据条件布尔表达式在两个值之间进行选择。其语法为:condition value_if_true : value_if_false。...
    99+
    2024-04-13
    c语言
  • go语言中元组是什么
    元组是固定长度不可变的顺序容器(元素序列),go语言中没有元组类型,数组就相当于元组。在go语言中,数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成;数组的声明语法为“var 数组变量名 [元素数量]Type”...
    99+
    2023-05-14
    go语言 Golang 数组
  • C语言基本数据类型是什么
    这篇文章主要讲解了“C语言基本数据类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言基本数据类型是什么”吧!1.C 语言包含的数据类型如下图所示:2.C语言的基本数据类型shor...
    99+
    2023-06-22
  • c语言清空数组元素的方法是什么
    在C语言中,清空数组元素的方法可以通过循环遍历数组并将元素赋值为0来实现。以下是一个示例代码: #include <stdio...
    99+
    2024-03-06
    c语言
  • c语言中s和c的区别是什么
    c语言中s和c的区别在于输出数据类型:s用于输出字符串,而c用于输出单个字符。此外,s支持宽度指定和精度指定,而c不支持;s支持空格填充,而c不支持。 C语言中s和c的区别 s和c是C...
    99+
    2024-05-12
    c语言
  • c语言数组添加元素的方法是什么
    在C语言中,数组的大小是固定的,不能直接添加元素。如果需要添加元素,可以考虑使用动态内存分配的方法,例如使用malloc函数动态分配...
    99+
    2024-03-14
    c语言
  • C#单元格数据是什么
    本篇内容介绍了“C#单元格数据是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近在做一个项目,其中有一个技术性的难题:“提取Word指...
    99+
    2023-06-18
  • c语言中d中间的数字代表什么
    c 语言中的 d 中间数字表示位字段的宽度,即包含的位数,语法为:struct name { type d:width; },使用时需注意宽度限制和只能用于结构和联合中。 C 语言中 ...
    99+
    2024-04-27
    c语言
  • MYSQL数据库的TCL语言和DCL语言是什么
    本篇内容介绍了“MYSQL数据库的TCL语言和DCL语言是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • c语言是什么语言
    c语言作为一种通用、过程式编程语言,自诞生以来一直是计算机领域最流行的语言之一。其简洁高效、跨平台、强大的控制能力、丰富的库函数和可扩展性等特点,使其广泛应用于系统软件开发、嵌入式系统开...
    99+
    2024-03-14
    c语言 网络编程 作用域 c语言编程 标准库
  • c语言一维数组中元素互换的方法是什么
    在C语言中,可以使用一个临时变量来交换数组中的两个元素。具体步骤如下:1. 定义一个临时变量temp。2. 将第一个元素的值赋给te...
    99+
    2023-10-12
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作