int -> short 내부 형변환...
글쓴이: arome / 작성시간: 수, 2007/10/10 - 3:41오후
컴파일러는 gcc 3.4.6 - 20060404 입니다.
다음과 같은 소스코드인데요..
-=-=-=-=-
#include<stdio.h>
int test() {
return 1000000;
}
int main(void) {
short a;
a = test();
printf("%d\n", a);
return 0;
}
-=-=-=-=-
보시다시피 int 데이터 값이 short로 implicit하게 변환됩니다.
컴파일 옵션은 -Wall -Wconversion -m32 로 주었습니다만,
워닝을 잡아내지 않네요..
(- 32비트 옵션을 주었으니까 int 크기는 4bytes일 것으로 생각합니다.)
이 정도쯤 되면 Warning 옵션 켰을때 잡아줘야 할 것 같은데요..
이외에도 큰 용량 -> 작은 용량 타입 변환시에 워닝이 잡히지 않습니다.
(short->char, long->short 등)
gcc에서 이런 변환에 대해 워닝을 띄워주는 방법이 있는지요?
없다면, 왜 없는지도 알고 싶습니다.
Forums:
헐....
-Wconversion 옵션이 형변환 오류를 잡아주는 걸로 알고 있었는데...
해보니 안되네요....
저도 당황스러워 졌습니다..ㅡㅡ;
왜 안될까..;;
--------------------------------
스물셋.. 독립.. 열심히 살아보자!!
--------------------------------
--------------------------------
스물셋.. 독립.. 열심히 살아보자!!
--------------------------------
댓글 달기