摘要: 前言 Windows 自从很久以来就有一个叫做 COM 的 Native ABI。这是一套面向对象的 ABI,在此之上 Windows 基于 COM ABI 暴露了各种各样的 API,例如 Management API、Shell API 和 DirectX API 就是典型。COM 自然不仅局限于 阅读全文
posted @ 2024-02-21 19:51 hez2010 阅读(423) 评论(0) 推荐(10) 编辑
摘要: .NET NativeAOT 指南 随着 .NET 8 的发布,一种新的“时尚”应用模型 NativeAOT 开始在各种真实世界的应用中广泛使用。 除了对 NativeAOT 工具链的基本使用外,“NativeAOT”一词还带有原生世界的所有限制,因此您必须知道如何处理这些问题才能正确使用它。 在这 阅读全文
posted @ 2024-01-31 18:00 hez2010 阅读(2990) 评论(9) 推荐(57) 编辑
摘要: 背景 2008 年前后的 Midori 项目试图构建一个以 .NET 为用户态基础的操作系统,在这个项目中有很多让 CLR 以及 C# 的类型系统向着适合系统编程的方向改进的探索,虽然项目最终没有面世,但是积累了很多的成果。近些年由于 .NET 团队在高性能和零开销设施上的需要,从 2017 年开始 阅读全文
posted @ 2022-11-01 16:35 hez2010 阅读(5770) 评论(44) 推荐(99) 编辑
摘要: 前言 .NET 7 的开发还剩下一个多月就要进入 RC,C# 11 的新特性和改进也即将敲定。在这个时间点上,不少新特性都已经实现完毕并合并入主分支 C# 11 包含的新特性和改进非常多,类型系统相比之前也有了很大的增强,在确保静态类型安全的同时大幅提升了语言表达力。 那么本文就按照方向从 5 个大 阅读全文
posted @ 2022-07-10 00:11 hez2010 阅读(8166) 评论(32) 推荐(60) 编辑
摘要: 前言 很多人一谈到 MSBuild,脑子里就会出现 “XML”、“只能用 VS 的属性框图形界面操作”、“可定制性和扩展性差” 和 “性能低” 等印象,但实际上这些除了 “XML” 之外完全都是刻板印象:这些人用着 Visual Studio 提供的图形界面,就完全不愿意花个几分钟时间翻翻文档去理解 阅读全文
posted @ 2022-05-19 18:11 hez2010 阅读(2711) 评论(17) 推荐(45) 编辑
摘要: 前言 C# 11 中即将到来一个可以让重视性能的开发者狂喜的重量级特性,这个特性主要是围绕着一个重要底层性能设施 ref 和 struct 的一系列改进。 但是这部分的改进涉及的内容较多,不一定能在 .NET 7(C# 11)做完,因此部分内容推迟到 C# 12 也是有可能的。当然,还是很有希望能在 阅读全文
posted @ 2022-04-21 14:30 hez2010 阅读(4659) 评论(18) 推荐(35) 编辑
摘要: 前言 自从 2017 年 C# 7.0 版本开始引入声明模式和常数模式匹配开始,到 2022 年的 C# 11 为止,最后一个板块列表模式和切片模式匹配也已经补齐,当初计划的模式匹配内容已经基本全部完成。 C# 在模式匹配方面下一步计划则是支持活动模式(active pattern),这一部分将在本 阅读全文
posted @ 2022-03-04 11:03 hez2010 阅读(6585) 评论(19) 推荐(30) 编辑
摘要: 前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相互独立各自更新的,.NET 6 在基础库、运行时上同样做了非常多的改进,不过本文仅仅介绍语言部分。 距离上次介绍 C# 10 的特性已经有一段时间了,伴随着 .NET 6 的开发进入尾声,C# 10 最终的特性也终于敲定了。总的来说 C# 阅读全文
posted @ 2021-08-12 16:35 hez2010 阅读(16650) 评论(42) 推荐(69) 编辑
摘要: 引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Optimization,通过收集运行时信息来指导 JIT 如何优化代码,相比以前没有 PGO 时可以做更多以前难以完成的优化。 下面我们用 .NET 6 的 nightly build 版本 6.0.100-rc. 阅读全文
posted @ 2021-07-28 13:38 hez2010 阅读(8053) 评论(32) 推荐(70) 编辑
摘要: C# 10 主要特性一览 阅读全文
posted @ 2021-06-06 20:54 hez2010 阅读(7223) 评论(21) 推荐(38) 编辑