마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

JAVA -> JNI 로 64bit integer 전달

0 추천
안녕하세요.

안드로이드 개발 중에 64bit integer 값을 JNI를 이용해 Native 레벨로 전달할

필요가 있어서 ... JAVA에서 long 타입으로 전달하고 Native에서 jlong으로 받도록

했는데, 예상했던 결과가 나오지 않아서 질문 드립니다.

 

Java -> void example(long param);

Native->JNI_example(jlong param);

 

위와 같이 선언해서 값을 전달해 봤는데, 값이 32비트를 넘어가면 32비트까지만

출력이 되는 것 같습니다.

 

native에서 jlong 타입 size를 찍어보면 8byte로 나오던데, 왜 32비트까지만

전달이 되는지 궁금합니다...

 

조언부탁드립니다.
익명사용자 님이 2013년 8월 14일 질문

1개의 답변

0 추천
출력할 때 어떻게 출력하셨나요?

printf %d 로 출력하면 당연히 4바이트로 출력됩니다.
익명사용자 님이 2013년 8월 14일 답변
%lld로 출력했습니다.
...