用javah将一个.java文件生成.h文件。
先写一个类创建本地方法greeting();
package cn.ls;
public class HelloNative {
public static native void greeting();
public static void main(String[] args) {
}
}
javah工具的用法:
用法:
javah [options] <classes>
其中, [options] 包括:
-o <file> 输出文件 (只能使用 -d 或 -o 之一)
-d <dir> 输出目录
-v -verbose 启用详细输出
-h --help -? 输出此消息
-version 输出版本信息
-jni 生成 JNI 样式的标头文件 (默认值)
-force 始终写入输出文件
-classpath <path> 从中加载类的路径
-bootclasspath <path> 从中加载引导类的路径
<classes> 是使用其全限定名称指定的
(例如, java.lang.Object)。
然后执行javah -jni cn.ls.HelloNative(或者直接:javah cn.ls.HelloNative 因为-jni是默认值)。这样就生成了.h的文件
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: cn_ls_HelloNative
* Method: greeting
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_cn_ls_HelloNative_greeting
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
linux下 java JNI调用C语言动态链接库(非常使用!!非常经典!!)
http://dengbaoleng.iteye.com/blog/1504924