Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我听说新的 WinRT 是一个非托管框架,它基于 COM,但不知何故,他们想出了一些东西,使 WinRT 和托管代码之间的映射更容易。我想知道这个机制是如何工作的?
Windows 运行时表示元数据中的所有 API,各种语言投影(C++、JavaScript 和 C#)读取这些 API。
因为 API 形状是在元数据中描述的,所以语言运行时和编译器可以推断 API 并知道如何为这些 API 生成代码。
对于 CLR,这项工作稍微容易一些,因为元数据格式是 ECMA 335,这是 CLR 使用的 CLI 元数据格式 - 因此 CLR 的翻译稍微容易一些。
但总的来说,翻译很简单,因为您拥有机器上所有 API 的机器可读表示。