社区
.NET Framework
帖子详情
CLR的主要用途是什么
begintransaction
2010-01-26 07:58:01
CLR的主要用途是什么?
...全文
1653
14
打赏
收藏
CLR的主要用途是什么
CLR的主要用途是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flyerwing
2010-01-28
打赏
举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
CLR托管应用程序所有的操作都是需要CLR的监管和处理.
这些操作包括进程内应用程序的加载, IL语言转换为机器语言, 异常管理, 垃圾回收,加载程序集等等
[/Quote]
估计是帮你调用WINDOWS API了,然后你就跟傻瓜一样了
风吹草低现羊牛
2010-01-28
打赏
举报
回复
CLR就相当于java的虚拟机很相似,它负责执行用.NET语言开发的代码(可以理解为托管代码的操作系统)。CLR是适用于所有.NET语言的运行库。它用于执行和管理用任何一种针对.NET平台的语言编写的所有代码。
dom72
2010-01-28
打赏
举报
回复
一个运行环境嘛。。
能编译运行你的程序,它通过clr和操作系统打交道,不像C语言。。
lerit
2010-01-28
打赏
举报
回复
白话一点,没有操作系统,你qq在哪里运行
同理,没有CLR,我们的.NET程序也无法运行
加油馒头
2010-01-28
打赏
举报
回复
一个舞台,只有这个舞台
你的 依赖于这个舞台的语言才能运行
cuike519
2010-01-28
打赏
举报
回复
抛开具体实现来说CLR给.NET提供了一个运行的平台。
.NET的所有的应用程序都是在CLR上面运行的离开这个东西,.NET应用程序寸步难行。
灵雨飘零
2010-01-28
打赏
举报
回复
CLR叫做公共语言运行时,它是所有.NET应用程序运行时环境,是所有.net应用程序都要使用的编程基础,它如同一个支持.net应用程序运行和开发的虚拟机。
mzjmicrosoft
2010-01-28
打赏
举报
回复
[Quote=引用 8 楼 flyerwing 的回复:]
引用 3 楼 wuyq11 的回复:
CLR托管应用程序所有的操作都是需要CLR的监管和处理.
这些操作包括进程内应用程序的加载, IL语言转换为机器语言, 异常管理, 垃圾回收,加载程序集等等
估计是帮你调用WINDOWS API了,然后你就跟傻瓜一样了
[/Quote]
这才叫电脑帮助人脑嘛
不然人脑帮助电脑得了
Baesky
2010-01-27
打赏
举报
回复
能把基于CLI规范的语言编写出来的IL代码翻译为机器代码运行,这是最重要的功能。
xray2005
2010-01-27
打赏
举报
回复
PS: GOOGLE CLR
nosuchtracter
2010-01-27
打赏
举报
回复
CLR就是帮你插屁股的,洗马桶的
wuyq11
2010-01-26
打赏
举报
回复
CLR托管应用程序所有的操作都是需要CLR的监管和处理.
这些操作包括进程内应用程序的加载, IL语言转换为机器语言, 异常管理, 垃圾回收,加载程序集等等
wuyq11
2010-01-26
打赏
举报
回复
CLR提供了所有类型的应用程序都要使用的一种编程模型
begintransaction
2010-01-26
打赏
举报
回复
CLR叫做公共语言运行时,它是所有.NET应用程序运行时环境,是所有.net应用程序都要使用的编程基础,它如同一个支持.net应用程序运行和开发的虚拟机。
微软.NET核心文档(6/6)--《Technical Overview of the Common Language Runtime(
CLR
技术概览)》
对于想要深入了解.NET
CLR
运行机制的朋友,这一系列文档,会起决定性的作用,不是好东西我不会要分~!英文文档,请按需下载!
vertesaur:具有潜在医疗、游戏和 GIS 用途的
CLR
计算几何和数学库
椎龙 用于
CLR
的计算几何和数学库,具有潜在的医疗、游戏和 GIS 用途。 旨在合理地独立于任何一个特定行业,但对许多人有用。 快速链接: NuGet 包: ://www.nuget.org/packages?q=Vertesaur JabbR 聊天室: ://jabbr.net/#/rooms/Vertesaur 文档: : 贡献: 跳转问题: : 龙骨核心 Vertesaur.Core 库是项目的主要部分,包含核心算法和数据结构。 该库中的大多数实现将使用数据类型。 龙骨世代 Vertesaur.Generation 库为核心中的一些算法和数据结构提供通用实现。 此外,该库包含有用的抽象和实用程序,以协助算法的运行时代码生成。
区块链实战高并发项目
为什么区块链必须是高并发的? 1. 摩尔定律早已结束目前,提高并发性是解决人类计算能力的主要方向了。但是并发的编程模型一直受到来自上下两方的压力。2000年开始之际,人们已经意识到摩尔定律失效了。你不太可能期待着今年写的C代码在明年的时候能够被更快的处理器运行了。因为处理器性能的提升主要是通过堆积更多的core来完成。所以为了编写更快的代码,你要做的是编写并发式的程序,同时使用更多的核、更多的CPU、更多的机器。对于并发式的编程模型这就是来自于下方的压力。当今的主流商业应用软件都是跑在web端的,7乘24小时百万级以上的并发访问。人们已经无法想象一个运行在桌面的单机程序实现同样的商业价值。对于编程模型来说,这是来自于上方的压力。所以当我们谈论区块链时,我们需要明白支持并发性才能满足市场的需求。2. 线程模型并不理想线程模型是上世纪90年代提出的并发模型,线程模型广泛应用在Java虚拟机、
CLR
、.net虚拟机中,甚至应用于Erlang这样更高级的系统。线程模型失败的地方在于如果你在读一段Java或C sharp代码,你无法明白有多少个线程在里面。我们可以讨论并行性和并发性,也可以讨论并发式和分步式,前提是我们必须搞清这几个概念。并行性指同步进行的多项活动之间并不共享信息。就像一条八车道的公路,根本没有换道,那就是并行。当你开始允许换道时,不同的活动和线程之间出现交互,那就是并发。分布式就是把每一笔交易想像成一辆车,换道就是切换到不同的处理器上。分布式必然需要面对故障模式,如果允许单独某个任务失败,就带来了本地(local)的概念。线程有不同的概念,包括有操作系统线程和cpu内核的物理线程等等。我谈论的是虚拟机上提供并发性的编程模型。线程模型的问题是本质上在编程语言的语义层面并没有提供并发性的支持。我用语言集成查询作为一个例子,证明语言集成将最终胜出。语言集成查询开始于微软的函数式编程大牛Eric Meyer。数据存储的两个方法是:1,提供一个支持数据存储的库;2,提供一个查询的语言特性。在第一种情况下,并没有类型系统(type system)帮助你对查询进行语义检查。在后一种情况下,类型系统和编译器参与检查确保查询处于良好状态并且不会中断。在过去的十五年中,语言集成查询已经是最热门的话题之一。所以时间将会证明,语言整合的方法会稳步胜出。回到并发的话题,采用库的方法就是线程模式的思路。在语义层面的扩展就是Rholang、 Pict 或者Vim等移动进程演算(mobile process calculi )的思路。type system保证了你在读一段Rholang程序时,能够看到有多少个进程在进行。同样的,如果你采用 pi calculus 或者 ambient calculus也可以具有同样的优势。3. DAO事件其实是一个并发问题并发性成为一种语法现象。因为它是语法,是可以对代码进行分析并检查各种并发属性的语法。一个非常好的示例是竞争条件(race condition):两个事件是否有可能以任意顺序发生?DAO事件其实是一个并发问题,是竞争条件。如果有对应的语言表示,就可以通过语法分析(也称为静态分析),捕获这些错误。即使是熟悉并发问题的老程序员,仍然会不时地搞错,例如用餐哲学家(dining philosophers)或其他类型的问题,所在为并发编写算法是非常困难的。当我在八十年代末和九十年代初期在Rosette工作时,我注意到即使使用非常强大的编程语言,并发编程也是非常困难的事情。不幸的是编程理论停止了二三十年,市场好像卡住了。我惊诧于Javascript一直统治着浏览器平台。我计划开发一个基于Rholang的浏览器语言,使用Rholang从头编写浏览器。4.现在的区块链都错了大多数交易是孤立不相关的。大多数人的财务状况都是彼此分开的。当你去喝咖啡时,地球另一面的人在买菜,你们的交易不相关,在区块链世界中,这一点非常重要。如果我们必须对这些交易进行系列化,我们就走进了死胡同。所有的交易都必须经过一个虚拟机。如果那个虚拟机是顺序的(sequential),Transaction将不得不按线性排列,这正是以太坊虚拟机的模式。在这种情况下,无论是DAG还是区块,那都无所谓了。在区块链上使用序列化模型时,不可能有语言层面的并发的显式表示。因此无法使用静态分析来获得并发行为,并发都隐藏在幕后。这就像一个干净和纯粹的函数式语言和Java之间的区别。使用与lambda演算接近的函数式语言,你所看到的就是你所获得的。所有执行实际上都在代码中。而对于Java来说,程序中存在着一堆隐藏的状态:堆栈、线程数以及类似的东西都在代码中。
C++/
CLR
泛型与C++模板的对比
VisualStudio2005把泛型编程的类型参数模型引入了微软.NET框架组件。C++/CLI支持两种类型参数机制--通用语言运行时(
CLR
)泛型和C++模板。本文将介绍两者之间的一些区别--特别是参数列表和类型约束模型之间的区别。参数列表又回来了 参数列表与函数的信号(signature)类似:它标明了参数的数量和每个参数的类型,并把给每个参数关联一个唯一的标识符,这样在模板定义的内部,每个参数就可以被唯一地引用。 参数在模板或泛型的定义中起占位符(placeholder)的作用。用户通过提供绑定到参数的实际值来建立对象实例。参数化类型的实例化并非简单的文本替代(宏扩展机制就
EDA/PLD中的C++/
CLR
泛型与C++模板的对比
Visual Studio 2005把泛型编程的类型参数模型引入了微软.NET框架组件。C++/CLI支持两种类型参数机制--通用语言运行时(
CLR
)泛型和C++模板。本文将介绍两者之间的一些区别--特别是参数列表和类型约束模型之间的区别。 参数列表 参数列表与函数的信号(signature)类似:它标明了参数的数量和每个参数的类型,并把给每个参数关联一个唯一的标识符,这样在模板定义的内部,每个参数就可以被唯一地引用。 参数在模板或泛型的定义中起占位符(placeholder)的作用。用户通过提供绑定到参数的实际值来建立对象实例。参数化类型的实例化并非简单的文本替代(宏扩展机制就是使用文本
.NET Framework
17,741
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章