2011-11-25 4 views
0

MethodNameJNI 기능은 다음과 같이 보일 수 있습니다 : 자바 측에 내 코드에서 JNI 함수 이름 클래스는 클래스에 존재하는 경우

JNIEXPORT void JNICALL Java_ClassName_MethodName(JNIEnv *env, jobject obj) 
{ 
    //... 
} 

은 다음과 같습니다

public class ClassName 
{ 
    private class ClassName2 
    { 
     MethodName(); 
    } 
} 

나도 몰라, 어떻게 native 함수의 이름을 씁니다. 함수 이름은 유니 코드 자리가 확장 $로 표준 OuterClass $ InnerClass를 얻을처럼 javah의 사용

JNIEXPORT void JNICALL Java_ClassName_ClassName2_MethodName(JNIEnv *env, jobject obj); 

JNIEXPORT void JNICALL Java_ClassName2_MethodName(JNIEnv *env, jobject obj); 

JNIEXPORT void JNICALL Java_ClassName_MethodName(JNIEnv *env, jobject obj); 
+2

javah 도구를 사용하면됩니다. – bmargulies

+0

이 'MethodName()'은 어디에 있습니까? 그리고 당신은 그것을 내적인 계급 내부에서 얼마나 정확하게 부르고 있습니까? 순수 C에서 오랜만에 목적에 – HashimR

+0

첫 단계 ... :) – theWalker

답변

4

, 그것은 같습니다 : 조합은 링크 오류로 이동

JNIEXPORT void JNICALL Java_ClassName_00024ClassName2_MethodName(JNIEnv *, jobject); 

미운,하지만해야 작업.

+0

당신은 내 영웅의 아기입니다. – vgonisanz

관련 문제