Jni C linux平台第一个实例
来源:互联网 发布:v盾网络验证 编辑:程序博客网 时间:2024/05/16 18:51
1、平台:linux
2、安装jdk,gcc
3、编写java代码
HelloWorld.java
public class HelloWorld
{
private native void print();
static
{
System.loadLibrary("HelloWorld");
}
public static void main(String[] args)
{
new HelloWorld().print();
}
}
4、编译Java代码
javac HelloWorld.java
5、生成头文件
javah -jni HelloWorld
6、头文件如下
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: print
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
7、编写c文件
#include "HelloWorld.h"
#include <jni.h>
JNIEXPORT void JNICALL Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World");
}
8、将c文件编译成linux平台下的动态连接库,这里需要注意,linux平台动态链接库的命名方法(lib***.so)
gcc -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -c HelloWorld.c
使用上面的命令编译,生成.o文件,再将.o文件打包成.so文件
gcc -shared -o libHelloWorld.so HelloWorld.o
生成libHelloWorld.so动态链接库文件
9、设定动态库地址
export LD_LIBRARY_PATH=libHelloWorld.so所在目录:$LD_LIBRARY_PATH
10、运行代码
java HelloWorld
- Jni C linux平台第一个实例
- Eclipse开发第一个JNI小实例
- 第一个helloworld.c实例
- Android JNI学习之第一个入门实例
- Android JNI学习之第一个入门实例
- NDK配置+第一个JNI实例+ndk-build常见问题
- 第一个 Linux c 程序
- 第一个JNI程序
- 第一个JNI程序
- JNI第一个程序
- 第一个JNI程序
- 第一个jni工程
- 第一个JNI开发
- 第一个JNI例子
- 第一个C程序HelloWold(Android之JNI)
- 我的第一个Linux下的JNI程序
- Linux平台Oracle多个实例启动
- Linux平台Oracle多个实例启动
- Spring3.0新特性
- YUV视频格式到RGB32格式转换的速度优化 上篇
- 分页机制
- 一次糟糕的报告
- 关于图片加载的一些理解
- Jni C linux平台第一个实例
- Spring注解
- Spring注解
- 关于FTP程序接收文件的问题
- Servlet与JSP权威指南-读书笔记
- lcd原理和驱动
- Java发送Http请求,解析html返回
- 生活随笔:最近很多大公司裁员
- 开通CSDN博客