日期:2014-05-16 浏览次数:20669 次
?
平台介绍?
系统:ubuntu10.04?
jdk:Java(TM) SE Runtime Environment (build 1.6.0_20-b02)?
gcc:gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5
如上一篇博客写道的先是简单的调用,本篇则是进一步带返回值的调用。?
gcc编译器会根据文件后缀名来识别C或C++程序,所以既然是java调用C语言则C语言部分的文件的后缀名要以.c结尾,否则编译时容易出问题。
本示例中本地方法生命为静态方法,如果不是静态方法则过程略有差异,不详细描述。?
JNI关于字符串处理部分API?
jstring NewStringUTF(JNIEnv* env,const char bytes[])?
const jbyte* GetStringUTFChars(JNIEnv*env,jstring string,jboolen* isCopy)?
void ReleaseStringUTFChars(JNIEnv*env,jstring string,const jbyte bytes[])?
1.编写java native方法并编译?
java StringTest.java?
2.用javah生成头文件?
javah StringTest?
3.编写C函数?