`
lijunjie
  • 浏览: 391599 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ubuntu下的JNI入门

阅读更多
1.编写java代码
class HelloWorld {
public native void displayHelloWorld();

static {
System.loadLibrary("hello");
}

public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}



2.编译java程序
javac HelloWorld

3.使用javah生成c语言定义文件
javah -jni HelloWorld

4.使用c语言实现定义
#include<jni.h>
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env,jobject obj) {
printf("Hello World!\n");
return ;
}


5.编译c语言
gcc gcc -shared -I ~/java/jdk1.6.0_12/include/ -I ~/java/jdk1.6.0_12/include/linux/ HelloWorld.c -o libhello.so


6.运行java
java -Djava.library.path=. HelloWorld

分享到:
评论

相关推荐

    jni的简单入门实例

    ### JNI的简单入门实例 JNI(Java Native Interface)是一种标准的接口规范,它允许Java代码与其他语言编写的代码进行交互,比如C、C++等。JNI对于开发高性能应用或者调用本地库非常有用。下面将根据提供的文件内容...

    springboot环境下java调用c程序生成动态链接库(.so文件),并调用(基于JNI,Ubuntu).zip

    springboot环境下java调用c程序生成动态链接库(.so文件),并调用(基于JNI,Ubuntu)C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的...

    android 及 linux 驱动入门 视频教程7

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    cmake跨平台sdk开发和Jni 接口设计及应用

    1:cmake 跨平台sdk 开发快速入门,写一个CMakeLists.txt 可以生成windows 和 ubuntu16.04 和 安卓三个平台的sdk(动态库) 2:java的jni 技术,java 和c/c++ 的数据交互(包括基本类型和数组类型和类的相互传递)和...

    嵌入式开发学习笔记( java - c/c++ :从入门到入门 )

    对于实际的嵌入式开发环境,作者还提到了Linux下的GCC编译控制、动态库导出函数、64位Ubuntu编译32位程序等具体技术点。 整体来看,文档为读者提供了一个由浅入深的学习路径,涵盖从嵌入式开发的基础知识、编程语言...

    android 及 linux 驱动入门 视频教程8

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程4

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程5

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程6

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    android 及 linux 驱动入门 视频教程9

    1.认识ubuntu.ogv 2.ubuntu实用技巧.ogv 3.IMX6q_android4.4.2源码编译.ogv 4.用git克隆github仓库到本地.ogv 5.NDK编译c生成.so文件.ogv 6.IMX6q开发板Android镜像烧录.ogv 7.控制台安装app.ogv 8.在控制台控制led...

    pro_android_cpp_with_the_ndk.pdf

    4.2.3 在UbuntuLinux下安装 4.3 通过示例程序试用SWIG 4.3.1 接口文件 4.3.2 在命令行方式下调用SWIG 4.3.3 将SWIG集成到Android构建过程中 4.3.4 更新Activity. 4.3.5 执行应用程序 4.3.6 剖析生成的代码 4.4 封装...

    韦东山Android系统视频使用手册20150904.pdf

    “Android系统”视频系列的内容相当丰富,包括JAVA快速入门、C++快速入门、Android驱动开发、Android系统构建以及Android应用开发等。这些内容的设计考虑到了学习的连贯性和深入性,强调了Linux驱动与Android系统...

    Android C++高级编程:使用NDK_Onur Cinar, 于红PDF电子书下载 带书签目录 完整版

    4.2.3 在Ubuntu Linux下安装 85 4.3 通过示例程序试用SWIG 86 4.3.1 接口文件 86 4.3.2 在命令行方式下调用SWIG 89 4.3.3 将SWIG集成到Android构建过程中 90 4.3.4 更新Activity 92 4.3.5 执行应用程序 93 ...

    kotlin-ktor-design-templates:ktor设计模板。 这是构建API服务器或简单Web服务器的示例。

    Gradle升级默认情况下,Ubuntu附带的Gradle很旧,并且无法解决依赖关系,因此请对其进行升级。 $ sudo add-apt-repository ppa:cwchien/gradle$ sudo apt-get update$ sudo apt upgrade gradle安装Oracle Java 1.8 ...

    Cocos2d-x入门教程(详细的实例和讲解)

    作为入门级选手,2D游戏显然更适合上手一些,另外适合果果这个年龄段的幼教类的游戏也多以2D游戏居多。3D游戏本身也太难了,不仅要 Programming能力,还要3D建模能力,这些学习起来周期就太长了;一直是Ubuntu Fans...

    opencv_tutorials2.4.3

    - **Ubuntu/Debian**:通过包管理器安装依赖项。 - **Red Hat/CentOS**:同样通过包管理器安装。 - **其他发行版**:可能需要手动编译安装。 ##### 1.2 使用 gcc 和 CMake 构建 OpenCV - **配置 CMake**:指定源码...

    新版Android开发教程.rar

    • Linux (tested on Linux Ubuntu Dapper Drake) Supported Supported Supported Supported Development Development Development Development Environments Environments Environments Environments Eclipse IDE o...

Global site tag (gtag.js) - Google Analytics