- 0
- 0
- 约2.47千字
- 约 5页
- 2018-01-10 发布于河南
- 举报
在 Linux 平台下使用 JNI
实现步骤及相关函数使用
本文将一步步说明在 Linux 平台下如何实现本地共享库与 Java 协同工作。Hello World 程序是目前标准的入门第一步,那么,我也以类似的应用最为样例。
第一步,定义一个 Java 类 -- Hello. 它提供 SayHello 方法:
此时应注意两点:
1. 为要使用的每个本地方法编写本地方法声明,其声明方式与普通 Java 方法接口没什么不同,只是必须指定 native 关键字,如下所示:
public native void SayHello(String strName);
在这个函数中,我们将根据传进的人名,向某人问好。
2. 必须显式地加载本地代码库。我们需在类的一个静态块中加载这个库:
再加上必要的异常处理就生成如下源文件 Hello.java:
编译后生成 Hello.class 文件。
第二步,生成本地链接库。具体过程如下:
1. 要为以上定义的类生成 Java 本地接口头文件,需使用 javah,Java 编译器的 javah 功能将根据 Hello 类生成必要的声明,此命令将生成 Hello.h 文件,我们在共享库的代码中要包含它,javah 不使默认内部命令,需要指明路径,它在 JDK 的 bin 目录下,在我的 Linux 环境下命令如下:
/home/jbuilder/jdk1.3.1/bin/javah Hello
您可能关注的文档
- 淘宝装修代码大全各种word兼容.docx
- 循环赛问题分析与C语言代码-分治法.doc
- 网站安全漏洞的产生分析、处理总结.doc
- .NET三层架构与三层架构下GridView控件增删改操作详解.doc
- 19.1 PFC概述.doc
- MFC六大关键技术之(一)——初始化过程.docx
- 搜淘拍商城装修模板代码教程大全.doc
- SVN架构组件及版本控制使用指南.doc
- Windows强大的批处理学习.docx
- SYSTEMVIEW介绍.doc
- 2026年山东省滨州市惠民县中考化学一模试卷(含答案).pdf
- 2026年山东省济南市历城区中考化学二模试卷(含答案).pdf
- 2026年山东省烟台市福山区中考化学模拟试卷(含答案).pdf
- 2026年山东省临沂市郯城县中考化学一模(含答案).pdf
- 2026年四川省德阳市中江县中考化学二诊试卷(含答案).pdf
- 2026年四川省绵阳市梓潼县中考化学二模试卷(含答案).pdf
- 2026年新疆乌鲁木齐市沙依巴克区中考化学适应性试卷(含答案).pdf
- 2026年重庆市永川区中考化学质检试卷(含答案).pdf
- 2026年重庆市第一中学校中考化学全真模拟试卷(二)(含答案).pdf
- 安徽池州市第二中学等校2025-2026学年高一下学期期中物理试卷A(含答案).pdf
原创力文档

文档评论(0)