인라인 어셈블리의 형식 및 다양한 크기
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 전용 종료
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기