<1>建立一个Java Project项目工程,编写相应的代码如下:
/**
*
*/
package com.duoguo.jni;
/**
* @author shyboy(897948924@qq.com)
*
*/
public class TestNative {
private native void hello();
static {
System.loadLibrary("NativeCode");
}
/**
* @param args
*/
public static void main(String[] args) {
TestNative testNative = new TestNative();
testNative.hello();
}
}
<2>切换到Java Project工程的bin目录下,使用javah命令使TestNative类生成相应的头文件,命令如下:
javah com.duoguo.jni.TestNative
会在bin目录下生成名称为:com_duoguo_jni_TestNative.h的头文件
<3>使用VS2008开发工具建立一个Win32控制台应用程序的项目,并选择空dll,然后将bin目录下的头文件com_duoguo_jni_TestNative.h剪切到该项目目录下;
<4>编写NativeCode.cpp的代码,如下:
// NativeCode.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
#include <iostream>
#include "com_duoguo_jni_TestNative.h"
using namespace std;
JNIEXPORT void JNICALL Java_com_duoguo_jni_TestNative_hello(JNIEnv * env, jobject obj)
{
cout<<"Hello World"<<endl;
}
<5>按F5快捷键进行编译,若出现错误,则查看相应的错误信息,并将JDK的include目录下的jni.h和win32目录下的jni_md.h头文件拷贝到该C++工程下,再次进行编译,如不出意外,会生成NativeCode.dll文件;
<6>将NativeCode.dll文件的目录拷贝到环境变量的path路径下,然后重新MyEclipse开发工具,运行main()方法,在控制台会打印出相应的Hello World!信息,则成功调用。
这就是JNI的魅力所在,希望对你有所帮助,写的不好,敬请原谅。如有不清楚的地方,可咨询QQ897948924.
分享到:
相关推荐
总之,这本书不仅适合于初学者入门学习,也适用于经验丰富的开发者进一步提高自己的技能水平。无论是希望集成C/C++代码到Java应用程序中,还是想要深入了解Java虚拟机内部工作机制的读者,都能从中受益匪浅。
《Android NDK与JNI实战:史上最详尽的NDK入门指南》 在移动开发领域,Android NDK(Native Development Kit)和JNI(Java Native Interface)是开发者用来实现高性能计算、利用硬件加速或调用C/C++库的重要工具。...
6. **JNI编程指南.rar**:这可能是一份详细的JNI编程指南,涵盖了JNI的基本概念、接口定义、函数调用、异常处理等方面,是学习JNI开发的重要参考资料。 7. **ue_chinese.zip**:Unreal Engine(UE)是一款强大的...
#### 五、JNI学习路径与资料推荐 学习JNI的最佳途径是从基础示例入手,逐步深入至更复杂的特性与功能。本书按章节结构,先以简单的实例引导读者入门,随后深入探讨JNI的各种高级特性,包括数据类型转换、异常处理、...
Java本地接口(JNI,Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行...这份指南涵盖了JNI的基础知识,适合初学者快速入门,同时对于有经验的开发者也是一份不错的参考材料。
- 对于初学者而言,是一篇很好的入门指南。 #### 2. CSDN博客 - “JNI在Android开发中的应用实例” - **链接**:`http://blog.csdn.net/liu_zhen_wei/article/details/6975986` - **主要内容**:这篇博客提供了另...
### 有关Java JNI详解 #### 一、JNI概述与重要性 Java Native Interface(JNI)是一种重要的技术,它允许Java代码...通过学习JNI,不仅可以扩展Java应用的功能边界,还能更好地理解和利用现代计算机系统的底层结构。
- **有经验的开发者:** 可以直接跳到第3章至第10章,深入学习JNI的各种特性和技巧。 - **JNI实施者:** 第11章至第13章提供了详细的规范说明,对于实现JNI接口的人来说非常有用。 #### 五、前置知识要求 为了更好...
最好结合JNI官方教程、官方文档来学习如何在Android中使用JNI技术。 解压后,有3个文件,如下: 【eoe特刊】第七期:NDK.pdf android_jni操作指南.pdf Android史上最强NDK入门项目实战.rar
综上所述,《Java JNI资料全整理含自己的常见问题总结》这份文档全面覆盖了从基础到高级的JNI知识体系,不仅提供了丰富的理论知识,还配有大量的实践案例,非常适合希望深入了解并掌握JNI技术的开发者阅读学习。
这个入门指南将详细介绍如何使用IKVM进行.NET与Java程序的互访。 一、IKVM的原理 IKVM的核心在于它的字节码转换器,它将Java字节码转换为.NET Framework理解的中间语言(IL)。通过这种方式,Java类可以被.NET环境...
这篇"第11条-Android动画/图形入门指南"将引导初学者踏入这个充满魔力的世界。Android提供了多种方式来实现图形绘制和动画效果,包括Java API、OpenGL以及Canvas等。让我们深入探讨这些技术。 首先,Java API中的...
嵌入式开发是计算机科学中的...综上所述,本文档为嵌入式开发的初学者提供了一份详细的学习指南,不仅覆盖了嵌入式开发的基础知识,还包括了实际操作中可能遇到的问题和解决方案,是学习嵌入式系统开发的重要参考资料。
对于前端知识,精通JavaScript至关重要,可从《JavaScript权威指南》入门,再通过《JavaScript高级程序设计》进行深入学习,为学习jQuery和ExtJS打下坚实基础。 初学者建议先使用记事本编写代码,逐渐熟悉后再过渡...
"学习JAVA 快速学习JAVA"这个标题表明这是一个针对初学者的指南,旨在帮助用户快速掌握Java编程基础。 Java的基础知识通常包括以下几个方面: 1. **Java语言概述**:了解Java的历史、特性以及其在软件开发中的应用...
Java语言入门书籍是针对初学者精心编写的指南,旨在帮助读者快速掌握Java编程的基础知识。全书分为九个章节,每个章节都包含了丰富的学习内容,旨在逐步引领读者踏入Java编程的世界。 第一章通常会介绍Java的历史和...
在`src/main`下,Java代码和资源分别位于`java`和`resources`目录,而Android插件还要求其他特定的目录,如`AndroidManifest.xml`、`res`、`assets`、`aidl`、`rs`和`jni`。 开发者可以根据需求自定义这些默认配置...
《Google+Android开发入门与实战》和《Google Android SDK开发范例大全》是Android开发的入门和深入学习的好资源。 总的来说,学习Java是一个系统的过程,从基础到高级,从理论到实践,需要不断积累和磨练。保持...
1. Android官方文档:提供详细的NDK和JNI开发指南。 2. GitHub开源项目:很多开源项目提供了NDK实战示例,可供学习和参考。 3. 在线教程和视频课程:各种平台上的专业课程可以帮助深入理解NDK开发。 通过这个项目,...
《Java2范例入门与提高(源码)》是一份专为初学者和有经验的开发者准备的Java学习资源,包含了一系列章节结构化的实例代码,旨在帮助读者深入理解和掌握Java编程语言的核心概念和技术。这份资料涵盖了从基础到高级的...