다음을 통해 공유


인라인 어셈블리에서 형식 및 변수 크기

Microsoft 전용

LENGTH, SIZETYPE 연산자의 인라인 어셈블리에 제한된 의미가 있습니다. MASM 지시문이나 연산자를 사용하여 데이터를 정의할 수 없으므로 이러한 연산자를 DUP 연산자와 함께 사용할 수는 없습니다. 그러나 C 또는 C++ 변수나 형식의 크기를 찾기 위해 사용할 수는 있습니다.

  • LENGTH 연산자는 배열에 있는 요소의 수를 반환할 수 있습니다. 배열이 아닌 변수에 대해 값 1을 반환합니다.

  • SIZE 연산자는 C 또는 C++ 변수의 크기를 반환할 수 있습니다. 변수의 크기는 LENGTHTYPE에서 생성됩니다.

  • 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 전용 종료

참고 항목

참조

__asm 블록에서 어셈블리 언어 사용