信创起步,java调so,so嵌套so

要开始关注信创工程了,练习下功底!

mytest.h

int myadd(int a,int b);

mytest.c

include  "mytest.h"

int myadd(int a,int b) {

return a+b;

}

gcc -fpic -c mytest.c
gcc -shared -o libtest.so mytest.o

// apptest.c  调用libtest.so

#include "m'ymyt.h"
int result();

int result(){
    return  myadd(21,300);
}

 

gcc -fpic -c apptest.c
//create libapptest.so
gcc -shared -o libapptest.so apptest.o -L ./ -ltest

 

 

// javaCallSo.java

import com.sun.jna.Library;
import com.sun.jna.Native;

public class javaCallSo{
        public interface testSOInterface extends Library{
                public int result();
                testSOInterface INSTANCE = (testSOInterface)Native.loadLibrary("apptest", testSOInterface.class);
        }


        public static void main(String[] args){
                System.out.println(testSOInterface.INSTANCE.result());


        }
}

// jna-4.4.0.jar 可网上下载

export CLASSPATH=$CLASSPATH:/home/qdbdjx/jna-4.4.0.jar

 

javac  javaCallSo.java

设定so的查找线路,不然无法嵌套调用

export LD_LIBRARY_PATH="/home/qdbdjx:/lib"

// 运行

java javaCallSo

结果 321

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值