1
나는 문자 그대로 수십억 개의 인스턴스를 생성 할 클래스가 있습니다. 나는 가능한 한 작은 데이터를 넣기 위해 최선을 다했으며, x64 아키텍처 용으로 컴파일 할 때 10 바이트 (unsigned short int
및 size_t
)라고했습니다. 그러나 sizeof(myclass)
(VS) 이상의 마우스를 16 바이트보고합니다. 두 필드 중 하나를 주석으로 처리하면 클래스의 크기는 각각 10 바이트와 2 바이트입니다.최소 공간을 사용하여 C++ 클래스를 강제로 컴파일 할 수 있습니까?
내 클래스에는 10 바이트 만 사용하도록 컴파일러에 지시하는 방법이 있습니까?
Try'#pragma pack' – PaulMcKenzie
고마워요! 답안에'#pragma pack (2)'을 던지면 가장 좋은 답으로 표시하겠습니다. – dfoverdx
@dfoverdx는 2 대신에'pack (1)'을 사용합니다 –