함수 인자로 포인터 넘길 때..
글쓴이: bizzare / 작성시간: 목, 2005/06/02 - 8:25오후
함수의 인자로 주소값을 넘길 때..
32비트 컴퓨터에서는
Function( (int)pSomeAddress);
와 같이 int로 캐스팅해서 넘기는 경우가 많았는데요..
64비트에서는 int와 주소값의 크기가 달라서 이게 안되더군요.
void*를 쓰면 될 것도 같은데..
문제는 해당 함수가 포트란으로 제작된 것이라.. void*를 쓸 수가 없는 것 같더군요.
포트란에서 64비트 정수형으로는 만들기 쉽다고 해서..
C에서 어떻게 캐스팅을 해줘야 하는지 고민 중입니다.
(저는 현재 리눅스에서 코딩 중입니다. -_-)
저에게 빛을 주세요. T_T
Forums:
64비트 하에서는 int 대신 long 이 8byte 정수 타입이라고 들
64비트 하에서는 int 대신 long 이 8byte 정수 타입이라고 들은적이 있는듯 싶습니다.
sizeof(long) 이 8byte 라면 long 으로 캐스팅하면 되지 않을까 싶네요.
아니면 long long 이라도... :)
댓글 달기