`
Rejoy
  • 浏览: 205698 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

第一个JNI程序

 
阅读更多

JNI(JavaNative Interface)Java本地接口,是Java提供给程序员用Java语言调用本地语言(CC++)写的函数的一种方法。

       下面简单的说一下怎样写第一个JNI程序。

 

package jni.hello;

/**

 * 第一个JNI程序

 * @author zyb

 * @version 创建时间:2012-4-2 下午3:55:33

 */

public class HelloWorld {

 

   static {

      System.loadLibrary("HelloWorld"); // 加载动态链接库,不能加后缀

   }

  

   public native void hello(); // 本地方法声明

  

   public static void main(String[] args) {

      new HelloWorld().hello();

   }

}

 

生成CC++的头文件

 

 

图片

 

 

 

Visual Stadio新建一个Win32项目

 

 

 

 

 

图片

 

图片

 

图片

 

 

将刚才生成的头文件放到项目中

 

 

 

图片

 

 

HelloWorld.cpp中加入如下代码:

#include "stdafx.h"

#include <stdio.h>

#include "HelloWorld.h"

 

JNIEXPORT void JNICALL Java_jni_hello_HelloWorld_hello(JNIEnv *envjobject object)

{

   printf("Hello JNI!");

}

 

设置VC的环境

工具-选项-项目和解决方案

 

加入最后两个包含文件。

 

 

图片

 

 

F7生成DLL文件,然后将生成的DLL文件复制到Java项目的bin目录下,运行

 

 

图片

 


 

 

调用C的函数成功了。哈哈, 是不是很有意思呢。。。

分享到:
评论
1 楼 kobe1029 2012-08-10  
图片显示不了》》》》》》

相关推荐

    第一个jni程序

    创建一个JNI程序通常涉及以下几个步骤: 1. **设置开发环境**:首先你需要安装Java Development Kit (JDK) 和 C/C++ 编译器,如GCC。确保你的系统路径包含了JDK的bin目录,这样可以使用javah工具生成C/C++的头文件...

    第一个JNI实例学习

    在这个"第一个JNI实例学习"中,我们将探讨如何创建并运行一个基本的JNI程序。 首先,我们需要理解JNI的核心概念。JNI提供了一套接口,让Java代码能够声明本地方法,这些方法在运行时由本地(非Java)代码实现。本地...

    JNI第一个程序

    本教程将带你一步步了解如何在Android上创建并运行你的第一个JNI程序。 首先,你需要安装Android NDK(Native Development Kit)。NDK是一组工具,它提供了编写原生代码(C/C++)的能力,并将其与Android应用程序...

    深入浅出JNI.第一讲 (JNI概述、编写首个JNI程序)

    通过以上步骤,你已经成功地编写并运行了一个基本的JNI程序。然而,实际应用中,JNI的使用可能会涉及到更复杂的类型转换、异常处理以及多线程问题。理解并熟练运用JNI,对于开发高效、跨平台的Java应用程序至关重要...

    ubuntu下第一个Jni例子

    这篇博客将引导我们完成在Ubuntu环境下创建并运行一个简单的JNI示例。 首先,我们需要了解JNI的基本概念。JNI接口提供了Java虚拟机(JVM)与本地代码之间的桥梁。当Java程序需要执行一些只能由原生代码完成的任务时...

    Android应用程序使用JNI调用驱动程序

    以《Android内核源代码情景分析》第二章的freg实例为例,freg是一个简单的设备驱动程序,展示了如何在用户空间调用驱动程序。在Android应用程序中,我们可以使用JNI来调用这个驱动,实现读写操作或者其他特定功能。 ...

    android串口开发入门之搭建ndk开发环境及第一个jni调用程序

    本篇文章将引导初学者如何搭建Android NDK开发环境以及创建并调用第一个JNI程序。 **一、NDK环境搭建** 首先确保你已经安装了Android Studio。在Android Studio中搭建NDK环境非常简单。按照以下步骤操作: 1. ...

    android_jni操作指南

    #### 三、编写第一个JNI程序 接下来,我们将通过编写一个简单的JNI程序来演示如何将Java与C/C++代码相结合。 ##### 1. 设计JNI接口 - **创建工程**: 在`android-ndk-1.6_r1/apps/firstJNI/project`目录下创建一...

    android jni开发指南

    #### 五、编写第一个 JNI 程序 1. **设计 JNI 接口** - 创建 Android 工程,并指定项目目录。 - 编写 Java 类 `Jni`,定义需要通过 JNI 调用的本地方法。 - 使用 `javah` 命令生成相应的 `.h` 头文件。 2. **...

    jni 第1、2讲

    总结起来,JNI的第一、二讲主要涵盖了以下几个知识点: 1. JNI的概念和工作原理。 2. 如何声明和调用本地方法。 3. 使用`javah`生成C/C++头文件。 4. 编写C/C++代码实现本地方法。 5. 参数和返回值的传递,以及异常...

    JNI详解及实例程序(英文)

    以下是一个简单的示例,演示如何使用JNI来创建一个具有两个原生方法的Java程序,这两个方法执行简单的输出操作。 ### 总结 JNI为Java开发者提供了一种与C/C++代码交互的有效途径,这不仅可以提高程序性能,还能...

    Eclipse + vs2013 编写第一个JNI HelloWorld

    在本教程中,我们将利用Eclipse IDE和Microsoft Visual Studio 2013(VS2010)来创建一个简单的JNI示例,展示如何从Java程序调用本地C代码并生成一个动态链接库(DLL)。 1. **JNI基础知识**: - JNI是Java平台的...

    andoid studio中JNI调用第三方库例子

    1. **设置项目结构**:确保你的项目包含一个`jniLibs`目录,它是放置.so库文件的地方。在这个例子中,"hello-libs"可能包含了对应不同CPU架构的.so文件,如armeabi-v7a、arm64-v8a、x86和x86_64等。 2. **创建JNI...

    JNI编程指南1

    1. **入门教程**:第二章通过一个简单的示例,向初次接触JNI的读者介绍其基本概念和工作原理。这部分内容适合对JNI不熟悉的初学者,帮助他们快速理解和掌握JNI的基本用法。 2. **全面介绍**:第三至第十章系统地...

    jni相关书籍资料

    第一本书籍“05134745605.pdf”可能详细介绍了JNI的基础概念,包括如何在Java代码中声明本地方法,创建头文件,编写C/C++代码实现这些方法,并通过Java虚拟机(JVM)加载动态链接库。书中可能还涵盖了JNI的各种数据...

    android中两次调用jni

    // 实现第一个JNI方法的逻辑 } void Java_MainActivity_secondJniCall(JNIEnv *env, jobject thiz) { // 实现第二个JNI方法的逻辑 } ``` 4. **编译和链接**:将C/C++源文件编译为.so库,通常通过Android NDK...

    JNI编程指南中文版

    1. **第二章:JNI入门** – 针对初次接触JNI的读者,通过一个简单的示例介绍JNI的基础用法。 2. **第三至第十章:深入JNI** – 对JNI的各种特性进行系统性的介绍,包括详细的示例和解释。 3. **第十一至第十三章:...

    Android通过JNI调用.so动态库

    在 jni 文件夹下,我们可以创建一个与头文件对应的 cpp 文件,例如 com_wwj_jni_TestJNI.cpp。在这个文件中,我们可以实现三个 native 方法的逻辑。 例如,我们可以在 Add.h 和 Add.cpp 文件中实现 Add 方法的逻辑...

    JNI调用第三方dll实例

    总的来说,这个实例是一个宝贵的教育资源,它展示了如何利用JNI将Java应用程序与C++编写的第三方DLL集成。通过学习和实践这个实例,开发者可以增强其在Java应用中嵌入本地代码的能力,从而充分利用两者的优点。

Global site tag (gtag.js) - Google Analytics