linux下通过eclipse开发用java调用c程序的方法:
1.先建立好java工程并建立java文件如下:
public class testso {
static {
System.loadLibrary("testc"); //这里项目显示为:libtestc.so,只需要填实际的名字,
//前后缀可以不填
}
public native static int get();
public native static void set(int i);
public static void main(String[] args){
testso t = new testso();
t.set(10);
System.out.println(t.get());
}
}
2.在终端或者用eclipse编译testso.java文件(javac testso.java)生成相应的class文件testso.class
3.同理用javah testso.class文件生成testso.h文件。其中.h文件内容如下:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
#ifndef __testso__
#define __testso__
#ifdef __cplusplus
extern "C"
{
#endif
JNIEXPORT jint JNICALL Java_testso_get (JNIEnv *env, jclass);
JNIEXPORT void JNICALL Java_testso_set (JNIEnv *env, jclass, jint);
#ifdef __cplusplus
}
#endif
#endif /* __testso__ */
4.建一个c工程,注意项目类型为Shared Library.然后建立一个c文件,内容如下:
#include"testso.h"
int i=0;
JNIEXPORT jint JNICALL Java_testso_get (JNIEnv *env, jclass jc){
return i;
}
JNIEXPORT void JNICALL Java_testso_set (JNIEnv *env, jclass jc, jint j){
i=j;
}
5.把test.h文件拷贝到c工程项目下,方便找到!
6.在运行testso.java时,要添加好运行环境(其中注意variable不能随便填!):
点击run--->在Environment里面点击new新建--->variable填:LD_LIBRARY_PATH ----->value填:so文件所在目录,这里为:/home/alen/workspace/testc/Debug
7.最后运行java文件,显示10!恭喜你,成功了!其他类似的调用c的方法,同样实现,欢迎一起讨论!
linux下通过eclipse开发用java调用c程序的方法
最新推荐文章于 2021-02-23 10:21:04 发布