Android Studio에서 APP에 JNI 폴더를 만들었고 모든 C 파일을 복사했지만 하나만 호출해야합니다 : NeuralNetwork.c
, NeuralNetwork_initialize.c
및 NeuralNetwork_terminate.c
도 있습니다. 이미 CMakeFile을 가지고 있습니다. 내가 사용해야도 알고, 내가 특별히 내 NeuralNetwork.c
를 호출 할 필요Java 클래스에서 C 함수 JNI 호출
#import <jni.h>
JNIEXPORT jstring JNICALL Java_com_dsp_testapp_NewRecordingActivity_getString(JNIEnv *env, jobject thiz) {
return (*env)->NewStringUTF(env, "Hello World from C!");
}
그러나 :
은 내가 이런 걸 (이 main.c를 불렀다)와 또 다른 C 파일을 작성해야합니다 알고 어떻게 든 초기화하고 끝내지만, 실제로 어떻게 알지는 못합니다.
System.loadLibrary("my_src");
my_src 내 CMake 파일을 생성 내 라이브러리의 이름입니다
이제 내 자바 클래스에서 나는 이런 짓을. 하지만 내 main.c
함수를 호출하는 방법을 모르겠습니다. 당신이 좀 도와 주 시겠어요 256
의 길이가 5 벡터 입력을 1 또는 0이 있습니다
NeuralNetwork.c
나에게 단지 배를 준다?
괜찮 았어.하지만 C 클래스에서 호출해야하는 C 함수를 어떻게 지정 했습니까? – user8559076
나는 그 질문을 이해할 수 없다고 생각합니다. 'C' 코드에서'C' 함수를 호출하고 싶다면 함수를 호출하면됩니다 (헤더 파일이 포함되어 있다고 가정). –
"Java에서 호출 할 C 함수를 어떻게 알 수 있습니까?"라는 질문을하면 C 함수 이름에서 해당 함수를 디코딩합니다. 기본적으로 Java_package_name_with_dots_replaced_by_underscores_methodName을 호출합니다. –