`
meiping
  • 浏览: 47607 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java Linux环境下JNI示例程序

    博客分类:
  • Java
阅读更多

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可调用 dll so封装

    提供java jni示例程序,linux so工程,windows dll工程,将科大讯飞语音合成程序封装成windows支持的dll和linux支持的so并且导出api,java使用jni直接调用。代码均已编译测试通过,需要appid和mscdll则可以自己去...

    ScratchJavaJNI:一个演示Java JNI API示例,可用作Java Native Interface项目的起点

    Java JNI入门模板一个演示 API示例,用作Java本机接口项目的起点。 对于那些不了解它的人,JNI是JVM和本机代码指令之间的桥梁(此ScratchJNI使用C二进制文件)。 要在Linux上编译并运行(您需要正确安装gcc和JDK),...

    android 使用jni调用c++

    android配置ndk,使用swig编译生成jni Java接口调用c++方法。这是成功的例子,前提是你要配置一下你的环境变量。如有疑问,可以去查看我的博客。有相关内容。

    java调用dll或so库示例

    完整演示使用JNI开发JAVA和C++交互的例子,本示例提供了在Windows和linux上的编译脚本。请参考JNI的相关文章,如有疑问可留言

    jni-maven-example:带有Maven的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

    sys rucaja-Rust通过JNI调用Java-Rust开发

    Rucaja(Rust调用Java)通过JNI从Rust调用JVM代码。 用法JNI调用比常规JVM指令慢大约10到20倍。 建议Rucaja(Rust称为Java)通过JNI从Rust调用JVM代码。 用法JNI调用比常规JVM指令慢大约10到20倍。 建议调用尽可能少...

    java使用jna连接华视CVR-100UC读卡器

    由于java提供jni有诸多不便,再加上我很菜,c这些东西全还给了老师了,所以还是选用jna调用,代码什么的都放在附件中了,jna的使用其实还是挺简单的,网上有很多相关的示例,但是就是需要注意一些dll文件路径,参数...

    lbt4j:适用于JavaLinux蓝牙库

    lbt4j-适用于JavaLinux蓝牙库 关于 lbt4j是一个Java API,通过针对Raspberry PI的DBus接口模型提供(通过JNI库)对访问。 它是使用生成的,它依赖于Gnomes的D-Bus库,文档和代码生成器 。 读取[D-Bus内省XML]( )...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    webrtc-java:用于运行 Java 的桌面平台的 WebRTC

    < groupId>dev.onvoid.webrtc</ groupId> < artifactId>webrtc-java</ artifactId> < version>0.2.0</ version></ dependency>支持的平台Maven Central 工件包含可以在以下平台上加载的本机库: Linux x86_64苹果...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包101

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包11

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包6

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包9

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包8

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包5

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包10

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    RubberBandJNI:示例应用程序展示了如何从Java控制实时音频时间拉伸库Rubber Band

    橡皮筋JNI –从Java控制实时音频时间拉伸该存储库包含Java中实时音调转换和音频时间拉伸的示例。 它使用两个组件。 第一个组件是 。 第二个组件是一个名为的Java音频库。 为了弥合两个JNI之间的差距。 Rubber Band...

Global site tag (gtag.js) - Google Analytics