Microsoft 专用
LENGTH、SIZE 和 TYPE 运算符在内联程序集中具有有限的含义。 无法将这些运算符与 DUP 运算符一起使用(因为您无法利用 MASM 指令或运算符定义数据)。 但是,您可以使用它们来查找 C 或 C++ 变量或类型的大小:
LENGTH 运算符可返回数组中的元素数。 它为非数组变量返回值 1。
SIZE 运算符可返回 C 或 C++ 变量的大小。 变量的大小是其 LENGTH 和 TYPE 的结果。
TYPE 运算符可返回 C 或 C++ 类型或变量的大小。 如果变量为数组,则 TYPE 返回数组的单个元素的大小。
例如,如果您的程序具有一个 8 元素 int 数组,
int arr[8];
则下列 C 和程序集表达式将生成 arr 及其元素的大小。
__asm |
C |
大小 |
---|---|---|
LENGTH arr |
sizeof(arr)/sizeof(arr[0]) |
8 |
SIZE arr |
sizeof(arr) |
32 |
TYPE arr |
sizeof(arr[0]) |
4 |
结束 Microsoft 专用