일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 카일레라
- Mame32
- 써치아이
- 온라인게임
- 프로그램 개발
- MAME
- 게임 외주
- 맞고게임
- 고스톱
- 홀뎀
- 프로그램 외주
- 판매
- 틀린그림찾기
- 게임 개발
- 포커게임
- 맞고
- 포커
- 상호링크
- 윈윈
- 옥션해킹
- 보드게임
- 서치아이
- 옥션소송
- 틀린그림 찾기
- 윈윈전략
- 티스토리 초대장
- 영어단어게임
- 영어단어
- 카일레라서버
- holdem
- Today
- Total
kyuseo의 게임 프로그래밍
pragma pack, push, pop 구조체 크기 설정 명령어의 설명 본문
개요.. |
#pragma pack은 구조체의 저장 크기를 결정하는 명령어입니다.
즉 BYTE 의 멤버 변수를 1바이트로 실제 저장하는가 아니면 2, 4바이트로 저장하는가를 설정합니다.
하지만 이 명령어 중 일부는 윈도우와 GCC, G++ 의 작동이 틀리기 때문에 모두 작동이 가능한 소스코드를 설명합니다.
윈도우에서만 통하는 코드 |
#pragma pack(push) <---- 이부분에서 GCC는 오류가 발생합니다. #pragma pack(2) struct KBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; }; #pragma pack(pop)
|
GCC, G++ 에서도 통하는 코드 |
#pragma pack(push,2) <---- 이부분에서 GCC도 컴파일이 성공합니다. struct KBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; }; #pragma pack(pop)
|