1. 编写Java程序(JMain.java)
class JMain {
static {
System.loadLibrary("tjni");
}
public static void main(String[] args) {
System.out.println(tjni(100));
}
public native static int tjni(int i);
}
2. 编译Java程序并生成头文件
javac JMain.java
javah JMain
3. 用C++实现
#include "JMain.h"
JNIEXPORT jint JNICALL Java_JMain_tjni(JNIEnv *, jclass, jint i)
{
return i;
}
4. 编译成动态库
g++ -shared -o libtjni.so JMain.cpp
5. 配置动态库路径
export LD_LIBRARY_PATH=/home/robinmei/java/jni/
5. 运行
java JMain
分享到:
相关推荐
提供java jni示例程序,linux so工程,windows dll工程,将科大讯飞语音合成程序封装成windows支持的dll和linux支持的so并且导出api,java使用jni直接调用。代码均已编译测试通过,需要appid和mscdll则可以自己去...
Java JNI入门模板一个演示 API示例,用作Java本机接口项目的起点。 对于那些不了解它的人,JNI是JVM和本机代码指令之间的桥梁(此ScratchJNI使用C二进制文件)。 要在Linux上编译并运行(您需要正确安装gcc和JDK),...
android配置ndk,使用swig编译生成jni Java接口调用c++方法。这是成功的例子,前提是你要配置一下你的环境变量。如有疑问,可以去查看我的博客。有相关内容。
完整演示使用JNI开发JAVA和C++交互的例子,本示例提供了在Windows和linux上的编译脚本。请参考JNI的相关文章,如有疑问可留言
编译安装先决条件: 所需的操作系统: Ubuntu * Desktop-16.04-LTS 64位...lib / jvm / $ sudo tar -xvzf jdk-8u144-linux-x64.tar.gz -C /usr/lib/jvm/更新环境变量 $ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
Rucaja(Rust调用Java)通过JNI从Rust调用JVM代码。 用法JNI调用比常规JVM指令慢大约10到20倍。 建议Rucaja(Rust称为Java)通过JNI从Rust调用JVM代码。 用法JNI调用比常规JVM指令慢大约10到20倍。 建议调用尽可能少...
由于java提供jni有诸多不便,再加上我很菜,c这些东西全还给了老师了,所以还是选用jna调用,代码什么的都放在附件中了,jna的使用其实还是挺简单的,网上有很多相关的示例,但是就是需要注意一些dll文件路径,参数...
lbt4j-适用于JavaLinux蓝牙库 关于 lbt4j是一个Java API,通过针对Raspberry PI的DBus接口模型提供(通过JNI库)对访问。 它是使用生成的,它依赖于Gnomes的D-Bus库,文档和代码生成器 。 读取[D-Bus内省XML]( )...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
< groupId>dev.onvoid.webrtc</ groupId> < artifactId>webrtc-java</ artifactId> < version>0.2.0</ version></ dependency>支持的平台Maven Central 工件包含可以在以下平台上加载的本机库: Linux x86_64苹果...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...
橡皮筋JNI –从Java控制实时音频时间拉伸该存储库包含Java中实时音调转换和音频时间拉伸的示例。 它使用两个组件。 第一个组件是 。 第二个组件是一个名为的Java音频库。 为了弥合两个JNI之间的差距。 Rubber Band...