`

图文教程vs2008+eclipse开始jni教程实例(一)

    博客分类:
  • Java
 
阅读更多

1、在eclipse中新建一个testJni的工程,新建一个package  com.easou.abo.jnitest

2、在com.easou.abo.jnitest下新建一个类Demo,代码如下

 

[html] view plaincopy
  1. package com.easou.abo.jnitest;  
  2.   
  3. public class Demo {  
  4.     public native void sayHello();  
  5.     public static void main(String[] args) {  
  6.         System.loadLibrary("testJni");  
  7.         Demo dm = new Demo();  
  8.         dm.sayHello();  
  9.     }  
  10.   
  11. }  


3、运行cmd,定位到E:\workspace\testJni\bin(也就是testJni工程下bin目录)

 

运行命令 javah com.eaosu.abo.jnitest.Demo

执行完后,在bin目录下会有多一个com_easou_abo_jnitest_Demo.h的文件,这个在后面C语言中会用到

 

4、打开vs2008新建一个名为testJni的win32控制台项目

点击确定->下一步,选中dll,附加选项中选择空项目

点击完成,如图

5、将我们刚javah出来的h文件复制到C:\Users\easou\Documents\Visual Studio 2008\Projects\testJni\testJni,在testJni工程中添加头文件,现有项,在弹出来的对话框选择com_easou_abo_jnitest_Demo.h文件。

6、将java jdk安装目录中的include\jni,h include\win32\jni_md.h两个文件复制到C:\Users\easou\Documents\Visual Studio 2008\Projects\testJni\testJni

 此时testJni的目录结构如下

7、在vs2008工程testJni新建一个C++源文件,命名为source

打开source.app,输入代码

 

[html] view plaincopy
  1. #include "com_easou_abo_jnitest_Demo.h"  
  2. #include <iostream>  
  3. using namespace std;  
  4.   
  5. JNIEXPORT void JNICALL Java_com_easou_abo_jnitest_Demo_sayHello(JNIEnv * env, jobject obj){  
  6.     cout<<"Hello,Wrold!"<<endl;  
  7. }  

 

 

打开com_easou_abo_jnitest_Demo.h

将#include <jni.h>改为#include "jni.h"

按F7编译

8、在windows环境变量中将刚编译出来的dll文件加入进去,dll目录是C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Users\easou\Documents\Visual Studio 2008\Projects\testJni\Debug;

9、重启eclipse,运行工程testJni,会在控制台看到Hello,Wrold!

 

转载:http://blog.csdn.net/abowu/article/details/7245609

分享到:
评论

相关推荐

    eclipse使用jni的简单实例

    在本实例中,我们将探讨如何使用Eclipse集成开发环境来创建一个简单的JNI项目,实现C语言与Java之间的字符串传递。 首先,我们需要了解JNI的基本概念。JNI提供了一种方式,使得Java应用程序能够调用本地(非Java)...

    android eclipse+NDK+Cygwin编译JNI 教程

    最近在研究JNI,网上说的编译JNI的方法多种多样,挑也挑花了眼,不过我不太喜欢繁琐的东西,感觉能一次搞定的最好。后来结合网上说的让后加上自己摸索,终于可以用eclipse + NDK + Cygwin编译出so文件并且能够直接...

    JNI开发 eclipse相关开发环境的搭建

    现在,读者已经成功搭建了一个 JNI 开发环境,可以使用 Eclipse 和 CDT 插件来编写和编译 C/C++ 代码,并使用 NDK 和 Cygwin 来编译 JNI 代码。这个环境可以帮助读者更好地开发 JNI 项目,提高开发效率。

    jni实例 已Eclipse测试可用

    本实例是基于Eclipse的JNI应用,已经过测试,能够帮助开发者直观地理解JNI的调用流程。 首先,我们来详细了解一下JNI的基本概念。JNI提供了一种方式,让Java代码可以调用本地(非Java)代码,也可以让本地代码调用...

    Eclipse_Jni_Opencv_NDK

    总的来说,"Eclipse_Jni_Opencv_NDK"是一个关于在Eclipse环境中使用JNI、OpenCV和NDK开发Android应用的教程或项目,涵盖了从环境配置、代码编写到构建和调试的全过程。这不仅要求开发者熟悉Java,还要掌握C/C++和...

    简洁使用 eclipse+mingw 环境编译 java jni

    通过以上步骤,你已经成功地在Eclipse和MinGW环境下构建了一个Java JNI项目。这个过程中,Eclipse提供了方便的集成开发环境,而MinGW则提供了编译C/C++代码的能力。这种组合为Java开发者提供了在不离开熟悉环境的...

    配置NDK集成eclipse使用hello-jni实例

    **配置NDK集成Eclipse使用hello-jni实例步骤** 1. **安装Cygwin** - 访问Cygwin官方网站下载安装包,并在Windows上解压。 - 在安装过程中,选择合适的安装路径,避免包含空格和中文字符,以防止可能出现的问题。 ...

    jni教程实例手把手

    在这个“jni教程实例手把手”资源中,包含了多个文档和一个示例项目,旨在帮助学习者全面理解并掌握JNI的使用。 1. **Android_JNI总结.doc**:这份文档可能是对Android平台上JNI应用的总结,涵盖了JNI的基本概念、...

    android eclipse jni(ndk) 开发环境的搭建

    ### Android Eclipse JNI (NDK) 开发环境搭建详解 #### 一、引言 随着移动互联网的迅猛发展,Android平台的应用开发变得越来越重要。而JNI(Java Native Interface)与NDK(Native Development Kit)作为连接Java层...

    windows下 eclipse+ndk编译及使用jni示例

    1.) 在项目根目录下创建jni目录,下面是要放进去的第一个文件Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := main_jni #LOCAL_CFLAGS := LOCAL_SRC_FILES := main.cpp #LOCAL_...

    Eclipse JNI Demo

    【Eclipse JNI Demo】是一个基于Eclipse开发的Java Native Interface(JNI)示例项目,用于演示如何在Android应用中使用JNI技术。JNI是Java平台的标准编程接口,它允许Java代码和其他语言写的代码进行交互,特别是在...

    springboot+jna/jni调用动态so/dll库

    在这种情况下,"springboot+jna/jni调用动态so/dll库"是一个重要的主题,它涉及到Spring Boot应用如何利用Java Native Interface (JNI) 和 Java Native Access (JNA) 这两种技术来调用操作系统级别的动态链接库(.so...

    Java jni调用c实例

    Java JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。JNI在很多场景下被使用,比如优化性能、利用已有的C/C++库或者访问操作系统特定的功能。在这个"Java jni调用...

    jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010).zip

    本示例是关于如何在Eclipse开发环境中结合Microsoft Visual Studio 2010来实现JNI程序开发的一个详细教程。 首先,我们需要理解JNI的核心概念。JNI允许Java应用程序调用本地(非Java)代码,比如C++,并反之亦然。...

    在qtC++Android使用jni调用示例

    如何使用jni调用java方法完成java回调c++调用java等

    第一个JNI实例学习

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

    jni调试 c层在eclipse中输出信息

    本教程将详细介绍如何在C层利用JNI进行调试,并在Eclipse环境中输出信息。 首先,我们需要理解JNI的基本工作原理。JNI提供了一种方式让Java代码能够调用本地(Native)代码,也就是C/C++代码,同时本地代码也可以...

    android调用jni实例

    我们将以"android调用JNI实例"为例,一步步解释这个过程。 首先,我们需要准备开发环境。安装Android NDK是必不可少的步骤,NDK(Native Development Kit)是一组工具,开发者可以使用它来编写用C和C++编写的本地...

    JNI实例 Java调用DLL c++调用Java

    总之,JNI实例“Java调用DLL c++调用Java”是一个实用的学习资源,它详细解释了如何利用JNI进行Java与C++的交互,无论是将本地库引入Java程序还是将Java功能嵌入C++应用。通过实践这些例子,开发者能够深入理解JNI的...

    Eclipse + vs2013 编写第一个JNI HelloWorld

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

Global site tag (gtag.js) - Google Analytics