다음을 통해 공유


__asm 블록에서 C 또는 C++ 기호 사용

Microsoft 전용

__asm 블록은 표시되는 범위에서 모든 C 또는 C++ 기호를 참조할 수 있습니다. (C 및 C++ 기호는 변수 이름, 함수 이름 및 레이블, 즉 기호 상수 또는 enum 멤버가 아닌 이름입니다. C++ 멤버 함수를 호출할 수 없습니다.)

C 및 C++ 기호를 사용할 때는 몇 가지 제한이 적용됩니다.

  • 각 어셈블리 언어 문에는 C 또는 C++ 기호를 하나만 포함할 수 있습니다. LENGTH, TYPESIZE 식을 사용하는 경우에만 여러 기호가 동일한 어셈블리 명령에 나타날 수 있습니다.

  • __asm 블록에서 참조되는 함수는 프로그램 앞부분에서 선언(프로토타입화)해야 합니다. 그러지 않으면 컴파일러가 __asm 블록의 함수 이름과 레이블을 구분할 수 없습니다.

  • __asm 블록은 대/소문자에 관계없이 MASM 예약어와 철자가 같은 C 또는 C++ 기호는 사용할 수 없습니다. MASM 예약어에는 PUSH와 같은 명령 이름 및 SI와 같은 레지스터 이름이 포함됩니다.

  • 구조체 및 공용 구조체 태그는 __asm 블록에서 인식되지 않습니다.

Microsoft 전용 종료

참고 항목

__asm 블록에서 C 또는 C++ 사용