인라인 어셈블리에서 형식 및 변수 크기
Microsoft 전용
LENGTH, SIZE 및 TYPE 연산자의 인라인 어셈블리에 제한된 의미가 있습니다. MASM 지시문이나 연산자를 사용하여 데이터를 정의할 수 없으므로 이러한 연산자를 DUP 연산자와 함께 사용할 수는 없습니다. 그러나 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 전용 종료