2014-09-02 2 views
0

C에서 java를 호출하는 데 사용할 수있는 많은 함수가 있지만 Java 메소드를 호출하는 호출 String에 대한 함수는 없습니다. 누군가가 C에서 자바 메서드를 반환하는 문자열을 어떻게 호출 할 수 있는지 조언 해 주실 수 있습니까?C JNI에서 java 메소드를 반환하는 String을 호출하는 방법은 무엇입니까?

CallBooleanMethod, 
    CallBooleanMethodV, 
    CallBooleanMethodA, 
    CallByteMethod, 
    CallByteMethodV, 
    CallByteMethodA, 
    CallCharMethod, 
    CallCharMethodV, 
    CallCharMethodA, 
    CallShortMethod, 
    CallShortMethodV, 
    CallShortMethodA, 
    CallIntMethod, 
    CallIntMethodV, 
    CallIntMethodA, 
    CallLongMethod, 
    CallLongMethodV, 
    CallLongMethodA, 
    CallFloatMethod, 
    CallFloatMethodV, 
    CallFloatMethodA, 
    CallDoubleMethod, 
    CallDoubleMethodV, 
    CallDoubleMethodA, 
    CallVoidMethod, 
    CallVoidMethodV, 
    CallVoidMethodA, 

답변

1

CallObjectMethod() 및 친구들을 사용할 수 있습니다. JAVA 메서드가 String을 반환하면 다음 jobjectjstring에 캐스트 할 수 있습니다 반환 당신은 jchar *

+0

주 얻을 GetStringChars()을 사용할 수 있습니다 : 그건 경우 우수 UTF-16 코드 단위의 종결되지 않은 순서 (jchar)에 대한 포인터를 반환()''GetStringChars을 당신이 원하는. ('GetStringLength'로 jchar 카운트를 얻을 수 있습니다.) –

관련 문제