개요..

 

#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)

 

 

 





  1. michelle 2009/08/11 12:15 답글수정삭제

    어떻게 다운로드를 받아야 할지 모르겟어요..

트랙백 주소 :: http://www.skyteam.pe.kr/566/trackback/
옵션
댓글 달기