#java #android #c #android-ndk #native
#java #Android #c #android-ndk #родной
Вопрос:
У меня есть два кода Java: public native void savex(int x);
C:
void Java_com_example_javatest_MainActivity_savex(jint x)
{
FILE *fp;
fp = fopen("/data/data/com.example.javatest/data.txt", "w");
fprintf(fp, "%dn", (int)x);
fclose(fp);
}
При запуске результат всегда имеет -1265282592 в data.txt .
В чем здесь проблема?
Комментарии:
1. Вам нужно предоставить более подробную информацию о коде, который вызывает функцию C, Об исходном значении переменной Java и т. Д., Иначе будет сложно помочь.
Ответ №1:
аннулирование Java_com_example_javatest_MainActivity_savex Java_com_example_javatest_MainActivity_savex(jint x)
Аргументы функции должны быть:
void Java_com_example_javatest_MainActivity_savex(JNIEnv* env, jobject obj,jint x)