6

我听说新的 WinRT 是一个非托管框架,它基于 COM,但不知何故,他们想出了一些东西,使 WinRT 和托管代码之间的映射更容易。我想知道这个机制是如何工作的?

4

1 回答 1

9

Windows 运行时表示元数据中的所有 API,各种语言投影(C++、JavaScript 和 C#)读取这些 API。

因为 API 形状是在元数据中描述的,所以语言运行时和编译器可以推断 API 并知道如何为这些 API 生成代码。

对于 CLR,这项工作稍微容易一些,因为元数据格式是 ECMA 335,这是 CLR 使用的 CLI 元数据格式 - 因此 CLR 的翻译稍微容易一些。

但总的来说,翻译很简单,因为您拥有机器上所有 API 的机器可读表示。

于 2011-09-20T05:57:36.200 回答