C 에서 Enum 의 크기는 컴파일러에 따라 변할 수 있다.


Debug 빌드에서는 4바이트로 빌드가 되는데 Release 빌드에서는 1바이트로 빌드가 되는 현상이다.


해결 방법은 Enum 의 크기를 미리 조절 해 주는 것이다.


ex)

enum testEnum1
{
VAL_1 = 0,
VAL_2,
VAL_3
}

enum testEnum2
{
VAL_1 = 0,
VAL_2,
VAL_3,
EOE = 0xffffff;
}

testEnum1 의 경우 1바이트로 컴파일이 되는 경우가 발생하나 

testEnum2 의 경우 마지막에 사용하지 않는 값을 이용해서 4바이트로 크기를 변환 한 것이다.




Posted by 후미카
:

카테고리

전체보기 (102)
Development (102)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/05   »
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

글 보관함