/Zp(구조체 멤버 맞춤)
구조체의 멤버를 메모리에 압축하는 방법을 제어하고 모듈의 모든 구조에 대해 동일한 압축을 지정합니다.
구문
/Zp
[1
16
|||8
|2
4
]
설명
/ZpN
옵션은 각 구조체 멤버를 저장할 위치를 컴파일러에 알립니다. 컴파일러는 멤버 유형의 크기나 N바이트 경계 중 더 작은 경계에서 첫 번째 멤버 다음의 멤버를 저장합니다.
사용할 수 있는 압축 값은 다음 표에 설명되어 있습니다.
/Zp 인수 | 효과 |
---|---|
1 | 1바이트 경계에서 구조체를 압축합니다. /Zp 와 동일합니다. |
2 | 2바이트 경계에서 구조체를 압축합니다. |
4 | 4바이트 경계에서 구조체를 압축합니다. |
8 | 8바이트 경계에서 구조체를 압축합니다(x86, ARM, ARM64의 경우 기본값). |
16 | 16 바이트 경계(x64 및 ARM64EC 기본값)에 구조를 압축합니다. |
특정 맞춤 요구 사항이 있는 경우가 아니면 이 옵션을 사용하지 마세요.
Warning
Windows SDK의 C/C++ 헤더는 플랫폼의 기본 맞춤이 사용된다고 가정합니다. 명령줄에서 /Zp
를 사용하거나 #pragma pack
을 사용하여 Windows SDK 헤더를 포함하는 경우 기본값에서 설정을 변경하지 마세요. 변경하는 경우 애플리케이션에서 런타임에 메모리 손상이 발생할 수 있습니다.
pack
pragma를 사용하여 구조체 압축을 제어할 수도 있습니다. 정렬에 대한 자세한 내용은 다음을 참조하십시오.
Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>코드 생성 속성 페이지를 선택합니다.
구조체 멤버 맞춤 속성을 수정합니다.
프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면
- StructMemberAlignment을(를) 참조하세요.