10 2017 档案

摘要:这是今天帮 "柠檬" 分析一个 "AsyncLocal相关的问题" 时发现的. 试想这个代码输出的值是多少? 答案是123. 为什么修改了 的值却无效呢? 这要从AsyncLocal的运作机制说起. 首先这是 "AsyncLocal的源代码" : 获取和设置值用的是 和`ExecutionConte 阅读全文
posted @ 2017-10-28 15:55 q303248153 阅读(3092) 评论(7) 推荐(14) 编辑
摘要:在 "上一篇" 我们对CoreCLR中的JIT有了一个基础的了解, 这一篇我们将更详细分析JIT的实现. JIT的实现代码主要在 "https://github.com/dotnet/coreclr/tree/master/src/jit" 下, 要对一个的函数的JIT过程进行详细分析, 最好的办法 阅读全文
posted @ 2017-10-28 11:48 q303248153 阅读(3553) 评论(4) 推荐(5) 编辑
摘要:很多C 的初学者都会有这么一个疑问, .Net程序代码是如何被机器加载执行的? 最简单的解答是, C 会通过编译器(CodeDom, Roslyn)编译成IL代码, 然后CLR(.Net Framework, .Net Core, Mono)会把这些IL代码编译成目标机器的机器代码并执行. 相信大多 阅读全文
posted @ 2017-10-18 17:27 q303248153 阅读(8089) 评论(22) 推荐(45) 编辑