linux下通过eclipse开发用java调用c程序的方法

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的方法,同样实现,欢迎一起讨论!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值