请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
OpCodes 类
OpCodes 字段
 Localloc 字段
全部折叠/全部展开 全部折叠
此页面仅适用于
Microsoft Visual Studio 2008/.NET Framework 3.5

同时提供下列产品的其他版本:
.NET Framework 类库
OpCodes..::.Localloc 字段

更新:2007 年 11 月

从本地动态内存池分配特定数目的字节并将第一个分配的字节的地址(瞬态指针,* 类型)推送到计算堆栈上。

命名空间:  System.Reflection.Emit
程序集:  mscorlib(在 mscorlib.dll 中)

Visual Basic(声明)
Public Shared ReadOnly Localloc As OpCode
Visual Basic (用法)
Dim value As OpCode

value = OpCodes.Localloc
C#
public static readonly OpCode Localloc
Visual C++
public:
static initonly OpCode Localloc
J#
public static final OpCode Localloc
JScript
public static final var Localloc : OpCode

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

格式

汇编格式

说明

FE 0F

localloc

从本地堆分配空间。

堆栈转换行为依次为:

  1. 将要被分配的字节数推送到堆栈上。

  2. 从堆栈中弹出字节数;从本地堆分配与该大小相对应的内存量。

  3. 将指向所分配的内存的第一个字节的指针推送到堆栈上。

localloc 指令从本地动态内存池分配 sizenatural unsigned int 类型)字节并返回第一个已分配字节的地址(瞬态指针,* 类型)。只有在方法上的初始化标志为 true 时才将返回的内存块初始化为 0。在当前方法执行 Ret 时,本地内存池可供重复使用。

结果地址被对齐,以便可以使用 stind 指令(例如 Stind_I4)在那里存储任何基元数据类型和使用 ldind 指令(例如 Ldind_I4)加载任何基元数据类型。

localloc 指令不能在 filtercatchfinallyfault 块内发生。

如果内存不足以满足请求的需要,则引发 StackOverflowException

下面的 Emit 方法重载可以使用 localloc 操作码:

  • ILGenerator.Emit(OpCode)

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0、2.0、1.1、1.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利 | 商标 | 隐私权声明
Page view tracker