CeeSectionRelocType 枚举

提供可影响对 ICeeGen::AddSectionReloc 调用中发出的 reloc 指令类型的值。

语法

typedef enum  {  
    srRelocAbsolute,  
    srRelocHighLow          = 3,  
    srRelocHighAdj,
    srRelocMapToken,  
    srRelocRelative,  
    srRelocFilePos,  
    srRelocCodeRelative,  
    srRelocIA64Imm64,  
    srRelocDir64,  
    srRelocIA64PcRel25,  
    srRelocIA64PcRel64,    srRelocAbsoluteTagged,    srRelocSentinel,    srNoBaseReloc       = 0x4000,  
    srRelocPtr          = 0x8000,  
    srRelocAbsolutePtr      = srRelocPtr + srRelocAbsolute,  
    srRelocHighLowPtr       = srRelocPtr + srRelocHighLow,  
    srRelocRelativePtr      = srRelocPtr + srRelocRelative,  
    srRelocIA64Imm64Ptr     = srRelocPtr + srRelocIA64Imm64,  
    srRelocDir64Ptr         = srRelocPtr + srRelocDir64  
    } CeeSectionRelocType;  

成员

成员 说明
srRelocAbsolute 仅生成相对于部分的 reloc,不向 .reloc 部分发送任何内容。
srRelocHighLow 为指针大小的位置生成 reloc。 这将转换为 BASED_HIGHLOW 或 BASED_DIR64,具体取决于平台。
srRelocHighAdj 为 32 位数字的前 16 位生成 reloc,其中后 16 位包含在 .reloc 表的下一个字中。
srRelocMapToken 生成标记映射重定位,不向 .reloc 部分发送任何内容。
srRelocRelative 指示该值为相对地址修复。
srRelocFilePos 仅生成相对于部分的 reloc,不向 .reloc 部分发送任何内容。 此 reloc 相对于部分的文件位置,而非其虚拟地址。
srRelocCodeRelative 指定代码相对地址修复。
srRelocIA64Imm64 为 ia64 movl 指令中的 64 位地址生成 reloc
srRelocDir64 为 64 位地址生成 reloc
srRelocIA64PcRel25 在 ia64 br.call 指令中为 25 位电脑相对地址生成 reloc
srRelocIA64PcRel64 在 ia64 brl.call 指令中为 64 位电脑相对地址生成 reloc
srRelocAbsoluteTagged 生成 30 位相对于部分的 reloc,用于标记的指针值。
srRelocSentinel 一个 sentinel 值,用于帮助确保对此枚举的任何添加都反映到内部 reloc 名称数组中。
srNoBaseReloc 指定不发出基本 reloc
srRelocPtr 一个值,指示内存的预修复内容是指针而非部分偏移量。

要求

平台:请参阅系统要求

标头:Cor.h

库:作为资源包含在 MsCorEE.dll 中

.NET Framework 版本:自 1.0 起可用

另请参阅