__stdcall
.Оператор sizeof никогда не создает результат 0, даже для пустого класса.
Оператор sizeof не может использоваться со следующими операндами:
Функции. (Однако оператор sizeof можно применять к указателям на функции.)
std::vector<int> array;
array.erase(array.begin() + 400);
printf("%s", d)
вместо puts?JNIEXPORT void JNICALL Java_SomeClass_someMethod(JNIEnv* env, jobject obj, jintArray array) {
jsize size = (*env)->GetArrayLength(env, array);
jint* buffer = (*env)->GetIntArrayElements(env, array, NULL);
...
(*env)->ReleaseIntArrayElements(env, array, buffer, 0);
}
JNI_ABORT
стоит передавать в том случае, если нужны были данные из массива, но сам исходный массив изменять не надо. Если изменения в массиве нужно сохранить, то вместо JNI_ABORT
надо передать 0. JNIEXPORT jstring JNICALL Java_Test_saySomething(JNIEnv *env, jobject obj, jstring jStr) {
// Получаем указатель на массив символов String
const char *cStr = (*env)->GetStringUTFChars(env, jStr, NULL);
if (cStr == NULL) return NULL;
// Выводим полученное
printf("%s\n", cStr);
// Освобождаем выделенную под строку область памяти
(*env)->ReleaseStringUTFChars(env, jStr, cStr);
// Получаем новый массив символов от пользователя
char buf[128];
scanf("%s", buf);
// Преобразовываем массив символов в String
return (*env)->NewStringUTF(env, buf);
}
Терпения у меня достаточно
чего хочу от своего проекта знаю
все проекты быстро забрасываются