当前位置: 首页 > news >正文

肇庆市住房和城乡建设部网站长沙seo全网营销

肇庆市住房和城乡建设部网站,长沙seo全网营销,什么地图能看到实时全景免费,关于制作网站的方案简析 .NET Core 构成体系Roslyn 编译器RyuJIT 编译器CoreCLR CoreRTCoreFX(.NET Core Libraries).NET Core 代码开发、部署、运行过程总结 前文介绍了.NET Core 在整个.NET 平台所处的地位#xff0c;以及与.NET Framework的关系(原文链接)#xff0c;本文将详细介绍.N… 简析 .NET Core 构成体系Roslyn 编译器RyuJIT 编译器CoreCLR CoreRTCoreFX(.NET Core Libraries).NET Core 代码开发、部署、运行过程总结 前文介绍了.NET Core 在整个.NET 平台所处的地位以及与.NET Framework的关系(原文链接)本文将详细介绍.NET Core 框架的构成和各模块主要功能以及如何实现跨平台。 上图描述了 .NET Core的系统构成最上层是应用层是开发基于UI应用的框架集包括了ASP.NET Core(用于创建web app)和 UWP(用于创建Windows10 app)。 中间层是公共库(CoreFX),实现了.NET Standard Library ,囊括了常用系统级操作例如文件、网络等。 在CoreFx下是运行时环境.NET Core 包含了两种运行时(CoreCLR、CoreRT),CoreCLR是一种基于即时编译程序(Just in time compiler,JIT)的运行时,它使用了跨平台开源的编译器RyuJIT,而CoreRT是使用提前编译器(Ahead of time compiler,AOT)的运行时,它既可以使用RyuJIT来实现AOT编译也可以使用其他的AOT编译器。由于AOT提前编译IL成了机器码在移动设备上也具有更好的启动速度和节能性。 最后还要提到一个开源的跨平台源代码编译器Roslyn它有别于刚才两个编译器JIT和AOT编译器主要用于将IL编译成本机机器码而Roslyn是将C# 或 VB.NET 代码编译成程序中间语言(intermediate language,IL)。 Roslyn 编译器 Roslyn编译器用于将C#或VB.NET代码编译为程序集(assembly)它的编译过程是一个管道式的处理过程一共包含4个步骤具体过程见下图。 A. Parser(解析) 根据语法对源代码进行解析。 B. Declaration (声明) 为代码生成元数据(metadata),元数据是一个数据表的集合描述了在当前代码中定义的数据类型和成员同时也描述了引用的类型及成员。 C. Bind(绑定) 将生成的IL代码与描述它的元数据绑定在一起生成托管模块(managed module)。 D. Emit(生成) 将一个或多个托管模块合并生成程序集(assembly)。 RyuJIT 编译器 在程序运行中需要执行某一个方法首先需要将已经编译好的IL转换本机的机器码而这个任务就交给了RyuJIT。它是新一代JIT编译器第一次实现了AMD64的架构RyuJIT能够比JIT64(上一代编译器)更快地生成代码以提高程序运行效率(测试详情链接)。 CoreCLR CoreRT .NET Core Runtime (CoreCLR) 和 .NET Core Runtime (CoreRT) 都是.NET Core的运行时(Runtime),它们提供了与.NET Framework CLR 类似的核心功能(内存管理、程序集加载、安全性、异常、线程管理等)可由面向于运行时的所有语言使用。 CoreRT 和 CoreCLR 不同的是CoreRT 提供了一套AOT 的机制,可以将.NET Core程序编译成原生代码不依赖 .NET 运行时而运行在宿主机器上。除此之外两个运行时大部分功能代码是共享的比如GC。AOT的优化带来不少好处 编译后生成一个单文件包含所有的依赖包括 CoreRT无需安装Framework启动时是机器码不需要生成机器码也不要加载JIT编译器可以使用其他优化编译器包括 LLILC ,IL to CPP CoreRT有两个方式生成机器码第一个使用是直接编译IL成机器码默认情况下RyuJIT 作为一个 AOT 编译器将IL编译成机器码另一个方式是将C#代码编译成C代码然后调用对应平台的C编译器优化编译成机器码。 使用 RyuJIT 编译成机器码 dotnet restoredotnet build --native --ilcpath repo_root\bin\Product\Windows_NT.x64.Debug\packaging\publish1 编译生成 C 代码 dotnet restoredotnet build --native --cpp --ilcpath repo_root\bin\Product\Windows_NT.x64.Debug\packaging\publish1 --cppcompilerflags /MTd CoreRT也有不足之处它需要为不同平台编译一次但凡事有但是它允许工程师可以不发布到不想支持的平台比如某游戏仅支持桌面不支持手机。 注这两个命名在.NET Core RC2 版本中均无法使用按照官方说法是在当前版本中已经移除这个命令了具体等6月27日正式版发出后才知道最后的情况 CoreFX(.NET Core Libraries) CoreFX主要包含数个公共库例如 System.Collections, System.IO, System.Xml等。CoreFX是 .NET Standard Library 的实现同样的.NET Framework 4.6.3也是基于.NET Standard Library的实现。它们目前都是基于.NET Standard Library1.6版本具体见下表 .NET Core 代码开发、部署、运行过程 从上图可以看到使用JIT编译和使用AOT编译源代码并运行程序是两种不同的流程。 如果使用JIT编译器部署程序时只需要将程序打包为IL的assemblies在方法第一次执行前编译器将IL编译为目标机机器码(Native code)而AOT编译会在编译时将源代码直接编译为目标机机器码。 AOT将源代码编译为机器码拥有如下特性 用静态代码替换反射例如如果一个值类型(value type)没有重写 ValueType.Equals 的equals的方法默认情况判断相等会使用反射找到filedinfo以确定type是否相等然后再比较value是否相等。而在AOT编译中由于替换了反射因此只能比较value是否相等。依赖的第三方类库以及.NET Libraries均打包至最终编译的程序中。打包后的程序运行在一个精简版的运行时上(CoreRT)主要包含垃圾回收器而运行时也会打包在app文件中。虽然编译时会替换反射代码但遇动态反射代码无能为力运行时若遇动态反射调用则会因找不到对应的元数据及实现而抛出异常。解决办法是编译前配置运行时指令文件(Runtime directive file)指定需要用到的程序集。 总结 本节介绍了.NET Core的构成体系包括新增的多个编译器以及遵循.NET Standard Library的CoreFX,总体来说.NET Core较之前的.NET Framework 从性能和开发效率上都有很大的提升。关键是首次实现了.NET的完全跨平台能力的基础技术栈。 .NET Core 基于跨平台能力并没有将与 GUI 高度相关的 API 移植到 .NET Core 内因此像是 Windows Forms 或是 Windows Presentation Foundation (WPF) 并未移植到 .NET Core。.NET Core 支持控制台应用程序 (Console Application) 以及类库 (Class Library) 类型的项目。 不过微软在其 Universal Windows Platform (UWP) 开发平台使用了 .NET Core并且利用 .NET Native 技术将其性能提升至十分接近原生码的速度。 ASP.NET Core 则以控制台应用程序驱动其托管环境 Kestrel Server 以支持 ASP.NET Core 程序的运行。 以上内容有任何错误或不准确的地方请大家指正不喜勿喷 作者帅虫哥 出处 http://www.cnblogs.com/vipyoumay/p/5613373.html 本文版权归作者和博客园共有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则保留追究法律责任的权利。如果觉得还有帮助的话可以点一下右下角的【推荐】希望能够持续的为大家带来好的技术文章想跟我一起进步么那就【关注】我吧。 参考链接 【1】https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md 【2】https://github.com/dotnet/corefx 【3】https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/glossary.md 【4】https://www.microsoft.com/net/core#windows 【5】https://msdn.microsoft.com/en-us/library/dn807190(vvs.110).aspx 【6】https://blogs.msdn.microsoft.com/dotnet/2013/09/30/ryujit-the-next-generation-jit-compiler-for-net/ 【7】https://zh.wikipedia.org/wiki/.NET_Core 相关文章 ASP.NET Core 1.0 入门——了解一个空项目ASP.NET Core 1.0 部署 HTTPS .NET Framework 4.5.1.NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介云服务器下ASP.NET Core 1.0环境搭建包含mono与coreclr使用VS Code开发ASP.NET Core 应用程序dotnet run是如何启动asp.net core站点的ASP.NET Core提供模块化Middleware组件“dotnet restore和dotnet run都做了些什么探秘 dotnet run 如何运行 .NET Core 应用程序.NET Portability Analyzer 已开源ASP.NET Core的配置1读取配置信息ASP.NET Core的配置2配置模型详解.NET Core 1.0 RC2 历险之旅使用VS Code开发 调试.NET Core 应用程序让我们Core在一起ASP.NET Core .NET Core.NET Core VS Code 环境配置官方博客明确了 .NET Core RC2/RTM 时间表.NET Core全新的配置管理[共9篇]利用记事本创建一个ASP.NET Core RC2 MVC应用微软.NET 正式劈腿成功横跨所有平台.NET Core 1.0 CentOS7 尝试解读发布.NET Core RC2 and .NET Core SDK Preview 1[.NET Core].NET Core R2安装及示例教程ASP.NET Core 开发-中间件(Middleware)结合Jexus Kestrel 部署 asp.net core 生产环境通过Jexus 部署 dotnetcore版本MusicStore 示例程序ASP.NET Core 中文文档 第一章 入门用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API用 Visual Studio 发布一个 Azure 云 Web 应用程序ASP.NET Core MVC 与 Visual Studio 入门第二章指南4.2添加 ControllerDotNet Core 介绍asp.net core 中间件详解及项目实战教你实践ASP.NET Core Authorization免看文档教程asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存asp.net core 中间件详解及项目实战第二章 指南4.3添加 Viewdotnet core开发体验之开始MVCdotnet core 开发体验之Routing聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer简析.NET Core 以及与 .NET Framework的关系.NET Core 使用Dapper 操作MySQL使用 CommandLineApplication 类创建专业的控制台程序 原文地址http://www.cnblogs.com/vipyoumay/p/5613373.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.zqtcl.cn/news/679550/

相关文章:

  • 厦门网站建设一般多少钱店铺域名是什么意思
  • 网站关键词搜索排名怎么做雅奇小蘑菇做网站好不好用
  • 手机网站案例建设网站地图素材
  • 企业网站制作比较好的如何设计一个网页首页代码
  • 维护网站成本网站建设进度图
  • asp.net做织梦网站设计手机网站建设
  • 江苏省住房和城乡建设局网站首页北京大型网站制作公司
  • 网站改版工作方案网站设计技能培训
  • 佳木斯市网站建设淄博网站开发招聘
  • 学习软件的网站先备案先建网站
  • 建立网站 知乎常州网站制作机构
  • 洛阳建设网站上海高端室内设计事务所
  • 做高清图的网站wordpress分类自定义文字
  • 创建站点如何做网站如何利用分类信息网站做推广
  • wordpress 拍卖插件找文网优化的技术团队
  • 建站素材网自助餐火锅网站建设
  • 企业型网站建设方案农村电商网站设计与发展现状
  • 建站快车凡科企业网站建设合同(一)
  • 阜平网站建设在广州做seo找哪家公司
  • 怎么做农家乐联盟网站六安建设机械网站
  • 网站开发行业标准江苏网站开发公司
  • 服装技术支持东莞网站建设如何加强企业网站建设论文
  • 中英双语网站怎么做深圳勘察设计协会
  • 用dw做网站维护教程梧州网站建设制作
  • 网站代运营公司有哪些深圳小区封闭最新通知
  • 江西网站设计服务网站开发所需费用明细
  • 深圳网站建设公司jm3q编程网站免费中文版
  • 泉州专门制作网站如何在小红书上做推广
  • 网站改版活动微网站开发一般费用多少钱
  • 网站关键词挖掘顺德网站制作案例价位