🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
javah生成的HelloWorld.h头文件清晰的罗列了native函数的函数原型,包括函数名,参数及返回值等,我们只需要按照这个函数原型实现其函数体就可以了.你可以使如下代实现HelloWorld.c: ~~~ #include <jni.h> # #ifdef __cplusplus extern "C" { #endif /* * Class: HelloWorld * Method: print * Signature: ()V */ JNIEXPORT void JNICALL Java_HelloWorld_print (JNIEnv * env, jobject obj) { printf("Hello World!\n"); } #ifdef __cplusplus } #endif ~~~ 这里我们很简单的实现print函数,直接调用C语言的API printf输出"Hello World!"字符串并直接返回,所有的输入参数都被忽略. 这个C程序包含了两个头文件 1. jni.h: 这个头文件提供了所有原生代码需要调用的JNI方法,编写原生代码的时候,你通常必须在你的头文件中包含该文件. 2. stdio.h: 提供printf函数声明.