gpt4 book ai didi

debugging - 什么是 mdToken,它与 MethodTable 有何不同?

转载 作者:行者123 更新时间:2023-12-04 06:16:34 25 4
gpt4 key购买 nike

如标题所示,它是什么以及它与 MethodTable 有何不同?

最佳答案

mdToken 是元数据标记,或者或多或少是元数据表中的行 ID(int 的一部分标识它所属的表,另一部分标识该表中的行)。

有两种类型的 token - 内部和外部。

内部 token 比外部 token 小,仅使用 4 个字节:3 个字节用于行 id,1 个字节用于表 id。 (我不确定 x64 的这些大小是否已更改,但您明白了)
示例:0x06000000 表示方法表中的第一行(从零开始)。

外部标记(或编码标记)更大,适用于一系列表,而不是特定表。有几种不同的编码标记类型,它们具有已知的模式,您必须了解这些模式才能理解它们的编码值。例如,HasCustomAttribute 标记可以是 19 个元数据表中任何一个的标记(因为属性可以附加到代码的许多不同部分)。编码标记的一部分是表的 id,也称为标记(但用于保持这部分的位宽因每个而不同 - 因此是已知模式),其余部分留给行 id。外部 token 的大小可能会有所不同 - 这有助于在行数较小时保持较小的大小。

关于debugging - 什么是 mdToken,它与 MethodTable 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com