warning : cast to pointer from integer of different size 어떻게 해결하나요?
글쓴이: arena123 / 작성시간: 월, 2013/10/21 - 2:43오후
64bit unix(Compaq True64 UNIX) 시스템에서는 cc로 컴파일시 발생되지 않은 warning 입니다.
64bit linux에서 gcc로 컴파일하는데 제목과 같은 warning이 발생이 되네요
대충 구글링한 결과 pointer 사이즈와 int 사이즈가 달라서 intptr_t를 사용하라는 내용이 대부분인데 아무리해도 안되네요 ㅠㅠ
아래는 문제의 샘플입니다.
typedef int BOOL;
main()
{
BOOL flag;
func(&flag); => 이곳에서 warning발생합니다.
}
void func(BOOL *flag)
{
*flag = TRUE;
}
Forums:
위 코드는 말씀하신 워닝을 만들지 않습니다. 실제로
위 코드는 말씀하신 워닝을 만들지 않습니다.
실제로 재현 가능한 코드를 올려보시죠..
forward reference 현상으로 보여 지네요.
main 함수와 func 함수 위치를 바꿔 컴파일해 보세요.
www.gilgil.net
왜냐하면,
함수 선언이 안되어 있으면 기본적으로 int 함수로 가정하기 때문입니다.
----------------------
navs:KIM Hyuntak
----------------------
그건 리턴값이죠.. 원글의 워닝은 다른
그건 리턴값이죠..
원글의 워닝은 다른 워닝이죠..
이런 경우에 발생하는..
첫 댓글처럼
위 예제에서는 func 의 선언문제(conflict) 외에는 문제될 게 없어서 추측해본 것입니다.
----------------------
navs:KIM Hyuntak
----------------------
댓글 달기