使用英语阅读

通过


OpCodes.Cpblk 字段

定义

将指定数目的字节从源地址复制到目标地址。

public static readonly System.Reflection.Emit.OpCode Cpblk;

字段值

注解

下表列出了指令的十六进制和 Microsoft 中间语言 (MSIL) 程序集格式,以及简短的参考摘要:

格式 程序集格式 说明
FE 17 cpblk 将数据从一个内存块复制到另一个内存块。

堆栈过渡行为(按顺序排列)为:

  1. 目标地址将推送到堆栈上。

  2. 源地址将推送到堆栈上。

  3. 要复制的字节数将推送到堆栈上。

  4. 从堆栈中弹出字节数、源地址和目标地址;指定数量的字节将从源地址复制到目标地址。

指令cpblk将 (类型的unsigned int32字节数) 从类型 、 或 &) 的*native int源地址 (复制到类型 、 或 &) 的目标*native int地址 (。 如果源区域和目标区域重叠,则 未指定 的行为 cpblk

cpblk 假定源地址和目标地址都与计算机的自然大小保持一致。 指令 cpblk 前面可以紧 unaligned.<prefix> 接指令,以指示源或目标未对齐。

指令的操作 cpblk 可以通过紧靠前面的 Volatile 指令或 Unaligned 前缀指令进行更改。

NullReferenceException 如果检测到无效的地址,可能会引发。

以下 Emit 方法重载可以使用 cpblk opcode:

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0