__attribute__((pack)) (1) 썸네일형 리스트형 C언어 __attribute__(pack), 구조체 정렬 바이트 패딩과 attribute((packed))에 대한 이해C언어에서 구조체를 다룰 때구조체의 크기(Size)는 단순히 각 멤버 변수들의 크기를 더한 값으로 결정되지 않습니다.이는 바이트 패딩이라는 개념 때문입니다. 이번 글에서는 바이트 패딩과 이를 피할 수 있는 방법인 attribute((packed))에 대해 알아보겠습니다.바이트 패딩이란?구조체를 구성하는 멤버 변수들은 메모리에 연속적으로 저장됩니다.그러나 컴파일러는 사용자 환경(32비트, 64비트)에 따라 성능 최적화를 위해멤버 변수들 사이에 추가적인 빈 공간(패딩)을 삽입할 수 있습니다. 이 패딩은 데이터 접근 속도를 높이기 위한 것으로1바이트씩 계산하는 것보다 4바이트(32비트 환경), 8바이트(64비트 환경) 단위로 처리하는 것이컴파일러 입.. 이전 1 다음