java调用.so方法
Linux环境下
yum install gcc-c++ cmake
1.新建Hello.c
#include <stdio.h>
int add(int a,int b);
int add(int a,int b) {
return a+b;
}
2.编译.c生成.so动态链接库文件
2.1生成.o文件
gcc -fpic -c Hello.c
2.2生成.so文件
gcc -shared -o libHello.so Hello.o
3.引入依赖jar
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>5.3.1</version>
</dependency>
或者直接上传jar到lib目录,并且在java classpath中指定该jar,将jna.jar放到lib下
4.vim /etc/profiles添加jna路径
配置生效: source /etc/profile
printf $CLASSPATH
5.编写HelloDemo.java,注意不要引入package,不然会不能执行main
import com.sun.jna.Library;
import com.sun.jna.Native;public class HelloDemo {
public interface Hello extends Library {
// 这个.so最后使用绝对路径容易加载到
Hello INSTANCE = Native.load("libHello.so", Hello.class);int add(int a, int b);// c方法
}public static void main(String args[]) {
System.out.println(Hello.INSTANCE.add(1, 3));
}
}
6.编译java
javac HelloDemo.java
7.执行HelloDemo调用libHello.so
java HelloDemo
java调用.so方法相关推荐
- java 调用祖父方法_在Java中调用祖父母方法:您不能
java 调用祖父方法 在文章保护的重点中,我详细介绍了"受保护"如何扩展"包私有"访问. 我在那儿写道: 你能做的是 覆盖子类中的方法或 使用关键字super ...
- Java 调用 Python 方法学习笔记
文章转载自: 作者:IT_xiao_bai 来源:CSDN 原文:https://blog.csdn.n ...
- IDL学习记录和Java调用IDL方法
IDL学习记录和Java调用IDL方法 2018年02月06日 08:32:02 回首1949 阅读数:385更多 个人分类: 随想 版权声明:乐呵乐呵得了 https://blog.csdn.net ...
- java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...
今天给大家推送第二部分,主要的大块内容分为:多线程.反射.对象拷贝.三大块内容中涉及到的考点如下: 三.多线程 35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或 ...
- Groovy小结:java调用Groovy方法并传递参数
@(JAVA总结) 1. 场景描述 在网上查了资料发现,java有三种方式调用groovy脚本.但是真正在实际的服务器环境中,嵌入groovy脚本往往需要满足下面的条件: 可以直接调用groovy脚本 ...
- Java调用tostring方法分析_Java对象toString()方法
对象的字符串表示以可读格式包含有关对象状态的信息. Object类的toString()方法表示字符串中类的对象.Object类提供了toString()方法的默认实现. 它返回一个以下格式的字符串: ...
- java调用其他方法中的变量_Uipath中调用Python的方法
难度等级:初学者. 这篇文章将有助于在UiPath中使用Python活动(Activity),该活动允许从UiPath调用和执行Python脚本.不仅可以执行Python脚本,还可以将参数传递给Pyt ...
- Java调用js方法
js函数保存在String字符串中 package com.netease.qiyu.test.datastageservice.service.impl;import com.netease.qiy ...
- java 找出调用的方法_如何找到用Java调用给定方法的所有方法?
小编典典 为了分析字节码,我建议使用ASM.给定要分析的类列表,可以使访问者找到您感兴趣的方法调用.下面是一个分析jar文件中类的实现. 请注意,ASM使用带有'/'而不是'.的internalNam ...
最新文章
- splunk的bucket组织目录——时间序列,按照时间来组织目录
- android系统应用开发_利用ADB工具免root停用Android系统应用
- (-215:Assertion failed) dst.data == (uchar*)dst_ptr in function 'cvShowImage'
- springBoot使用PageHelper当超过最大页数后仍然返回数据
- 重在参与吗。。。。。。。。
- 洛谷 P1013 进制位
- php iframe 上传图片,利用iframe+php实现图片的上传
- 脸部细微表情识别_您可以仅使用面部表情来控制字体吗?
- c#static中静态方法_用C ++进行静态转换– static_cast()方法
- java后端开发简历模板,最全Java知识总结
- 设计模式:卑微的代理模式
- 编程算法题:101个数字,[1,100]中有一个是重复的,找出这个重复的数字。
- mysql 两表关联查询 group by having
- kinect体感绿幕抠像,AR虚拟互动拍照,体感抠像拍照
- 【数据结构】【王道】【树与二叉树】中序二叉线索树的实现及基本操作(可直接运行)
- VC++修改注册表实现禁用开启U盘
- consul剔除无效服务
- 【算法模板】DFS秒杀模板—附练习题(阳光号启航)
- 秒数转换为天小时分钟秒的格式
- 概率图模型的一些基本概念与例子