Я просматривал учебник JNI и наткнулся на строку ниже в сгенерированном файле заголовка.
JNIEXPORT jbyteArray JNICALL Java_ReadFile_loadFile
(JNIEnv *, jobject, jstring);
Я могу понять значение jbyteArray, JNIEnv, jobject и jstring. Они необходимы для передачи информации и из программы c. Но я не смог понять, почему используются JNIEXPORT и JNICALL. И как они называются в программе c (функция, структура, перечисление - я сожалею, если этот вопрос очень тривиален)? Любая помощь приветствуется.