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(Java Native Interface)是一种标准的接口规范,它允许Java代码与其他语言编写的代码进行交互,比如C、C++等。JNI对于开发高性能应用或者调用本地库非常有用。下面将根据提供的文件内容...
springboot环境下java调用c程序生成动态链接库(.so文件),并调用(基于JNI,Ubuntu)C++是一种广泛使用的编程语言,它是由Bjarne Stroustrup于1979年在新泽西州美利山贝尔实验室开始设计开发的。C++是C语言的...
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...
1:cmake 跨平台sdk 开发快速入门,写一个CMakeLists.txt 可以生成windows 和 ubuntu16.04 和 安卓三个平台的sdk(动态库) 2:java的jni 技术,java 和c/c++ 的数据交互(包括基本类型和数组类型和类的相互传递)和...
对于实际的嵌入式开发环境,作者还提到了Linux下的GCC编译控制、动态库导出函数、64位Ubuntu编译32位程序等具体技术点。 整体来看,文档为读者提供了一个由浅入深的学习路径,涵盖从嵌入式开发的基础知识、编程语言...
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...
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...
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...
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...
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...
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系统”视频系列的内容相当丰富,包括JAVA快速入门、C++快速入门、Android驱动开发、Android系统构建以及Android应用开发等。这些内容的设计考虑到了学习的连贯性和深入性,强调了Linux驱动与Android系统...
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 ...
Gradle升级默认情况下,Ubuntu附带的Gradle很旧,并且无法解决依赖关系,因此请对其进行升级。 $ sudo add-apt-repository ppa:cwchien/gradle$ sudo apt-get update$ sudo apt upgrade gradle安装Oracle Java 1.8 ...
作为入门级选手,2D游戏显然更适合上手一些,另外适合果果这个年龄段的幼教类的游戏也多以2D游戏居多。3D游戏本身也太难了,不仅要 Programming能力,还要3D建模能力,这些学习起来周期就太长了;一直是Ubuntu Fans...
- **Ubuntu/Debian**:通过包管理器安装依赖项。 - **Red Hat/CentOS**:同样通过包管理器安装。 - **其他发行版**:可能需要手动编译安装。 ##### 1.2 使用 gcc 和 CMake 构建 OpenCV - **配置 CMake**:指定源码...
• Linux (tested on Linux Ubuntu Dapper Drake) Supported Supported Supported Supported Development Development Development Development Environments Environments Environments Environments Eclipse IDE o...