Каковы дополнительные ключевые слова сигнатуры функции c ++? - PullRequest
2 голосов
/ 03 января 2012

Я нашел пример JNI нативной функции, написанной на c ++, подпись которой соответствует

JNIEXPORT jbyteArray JNICALL Java_ReadFile_loadFile(JNIEnv *, jobject, jstring);

Что это за ключевые слова JNIEXPORT и JNICALL?Как вы их называете?Что они делают?

Ответы [ 2 ]

4 голосов
/ 03 января 2012

JNIEXPORT и JNICALL - это макросы, используемые для указания соглашения о вызовах и соединении как функций JNI, так и реализаций собственных методов. Программист должен поместить макрос JNIEXPORT перед типом возврата функции и макрос JNICALL между именем функции и типом возврата.

Для получения дополнительной информации посетите: http://java.sun.com/docs/books/jni/html/types.html

2 голосов
/ 03 января 2012

http://java.sun.com/docs/books/jni/html/types.html

Из "12.4 Константы"

JNIEXPORT и JNICALL - это макросы, используемые для указания соглашения о вызовах и связях как функций JNI, так и реализаций собственных методов. Программист должен поместить макрос JNIEXPORT перед типом возврата функции и макрос JNICALL между именем функции и типом возврата.

...