728x90
#Pragma pack
- 네트워크 통신을 할때 패킷의 사이즈를 정확하게 지정하고 통신할 수 있게 하는것
- 네트워크 헤더 구조체의 경우 필수적으로 사용한다.
- 구조체의 크기가 커지는 것을 막을 수 있다.
#pragma pack(push, n)
#pragma pack(pop)
- 전처리기 이며, n은 정렬크기를 넣어주면 된다.
- n의 값은 1,2, 4, 8, 16만 유효하며, 디폴트 값은 기본 타입중 가장 큰 타입인 8이다.
#pragma pack(push, 1)
- 위의 경우 1byte씩 정렬한다고 선언한 것이다.
#pragma pack(pop)
- 특정 구조체에 대해서만 구조체의 정렬 크기를 지정해주고자 한다면 #pragma pack(pop)을 사용한다
참조
[C, C++] #pragma pack의 개념과 사용방법
#pragma pack의 사용이유와 사용방법에 대해서 알아볼 것이다. 먼저 일반적인 구조체 선언 코드를 보자. #include typedef struct test{ char a;// 1byte int b;// 4byte }test; 이때 구조체 변수 a는 char형이므로 1byte일
she11.tistory.com
728x90
'언어 > C++' 카테고리의 다른 글
플러시(Flush) (0) | 2024.04.19 |
---|---|
C++ 입출력 성능 향상 (0) | 2024.04.19 |
char* 형식의 인수가 LPCWSTR 형식의 매개 변수와 호환되지 않습니다. (0) | 2024.04.13 |
lower_bound, upper_bound, 이진탐색 (0) | 2024.02.22 |
unique함수와 erase함수를 통한 문자열 중복제거 (0) | 2024.02.22 |