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

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

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

 

[html]  view plain copy
  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 plain copy
  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.youkuaiyun.com/abowu/article/details/7245609

JNI的简单使用(Eclipse) JNI的基本使用 阅读详情

相关推荐

Eclipse Android NDK JNI 详细开发流程

网上虽然可以找到相关的,但是都是零星散乱,需要用大量的时间去摸索.这篇独家专作将为你节省大量摸索时间和网络搜索时间.让你不走弯路,快速入门.

eclipse调用JNI之环境的搭建

因为项目中要在Java中调用C++编好的代码,即用eclipse调用动态链接库,故花了点时间研究在eclipse中使用JNI。 有时候因为Java本身特性的限制,单独使用Java语言可能不能完全满足应用程序的需要,这时需要使用JNI(JavaNative Interface)来编写Java本地方法,用来处理那些不能完全用Java语言编写应用程序的情况。通过JNI技术,Java开发...

weixin_30652897的博客 318

Eclipse CDT 调用 VS2008编译器的相关配置

Eclipse CDT 调用 VS2008编译器的相关配置 是eclipse的各个需要配置参数的截图

Eclipse的JNI环境搭建

1:安装NDK 2:在eclipse中,window->preferences->Android->NDK,在这里面把NDK的路径填进去 3:安装MinGW 4:安装Cygwin

u011470899的专栏 556

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

本文档根据网上的学习资料和本人的亲身实践,详细讲解了在windows系统平台下如何配置ndk的过程。 1、安装cygwin 2、下载ndk 3、ndk和cygwin的配置 4、下载安装eclipse插件cdt 5、ndk与eclipse的集成 6、运行实例hello-jni

jni实例 已Eclipse测试可用

jni实例 已Eclipse测试可用,让你清楚的了解jni调用的流程.

如何用vs2008开发jni

Eclipse: 新建Java项目然后新建类 代码 package test;   public class Hello {            publicnative void sayHello();            static          {                    System.loadLibrary("qq");//这个就是你要生成的

qq1299338446的专栏 737

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_LDLIBS := include $(BUILD_SHARED_LIBRARY) 2.) 在jni目录创建main.cpp #include using namespace std; #ifdef __cplusplus extern "C" { #endif class Test { public: Test(){}; ~Test(){}; int SomeFunc() { return 20140522; } }; jint Java_com_yxiaolv_testjni_MainActivity_SomeFunc(JNIEnv *env, jobject thiz) //红色部分必须和你java类包名一致 { Test *test = new Test(); return test->SomeFunc(); } #ifdef __cplusplus } #endif //将下面第3.)至第5.)步的代码片段放到eclipse创建android项目时自动产生的MainAcitivity.java中就可以了 3.) 在Java Activity代码中添加对这个jni的调用 (本例中是MainActivity.java ): static { System.loadLibrary("main_jni"); } 4.) 在调用者Activity中定义函数 native int SomeFunc(); 5.) 在activity中调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = new TextView(this); int i = SomeFunc(); tv.setText( String.valueOf(i) ); setContentView(tv); } //下面的第6.)和第7.)步可以被集成的.cproject 和在.project中添加plugin之后一键编译,不用单独起dos窗口了。由于没有找到生成.cproject的工具,只能手写,所以本文不使用该方法,以后找到了好的方法再补充。委屈 6.) 在dos窗口中,cd到项目路径下,运行ndk-build 命令,该命令会自动搜索该路径子目录下的native项目,进行编译。 (Note: 编译完成后不要忘记了刷新项目)。 7.) 重新编译和部署项目,就可以看到已经包含了.so的apk运行在目标机上了。 摘自 http://stackoverflow.com/questions/13654678/how-compile-c-project-via-android-ndk 1). 如果不知道怎样安装和使用windows版的NDK,可以参考 http://blog.csdn.net/do_script/article/details/26478583

VSCode搭建ESP8266开发环境:ESP-IDF与RTOS_SDK完整配置指南

嵌入式开发中,物联网芯片的环境搭建是入门第一道门槛。ESP8266作为经典WiFi模组,其工具链版本碎片化、框架选型易混淆,常导致编译报错或烧录失败。核心原理在于:ESP8266需使用专用xtensa-lx106-elf工具链与ESP8266_RTOS_SDK v3.4,而非ESP32的ESP-IDF。正确配置可打通FreeRTOS多任务开发与WiFi联网能力,适用于智能家居、传感器节点等场景。本文聚焦VSCode下ESP-IDF框架配合RTOS_SDK的完整环境搭建,解决从工具链安装到烧录监视的全链路问题

weixin_34163553的博客 345

D触发器(D Flip-Flop)与D锁存器(D Latch)

在解释这个练习题之前,我们先来简单回顾一下D触发器(D flip-flop)和D锁存器(D latch)的概念,以及它们在数字电路中的作用。这将帮助我们理解所提到的练习。

weixin_65190179的博客 9169

将Keil中的变量数组导出

首先,写好导出数据的函数。

小柚子的博客 1952

图文教程vs2008+eclipse jni教程实例(二) 调用和修改java类中的属性。

看这篇文章的童鞋,我都视你已经掌握了vs+eclipse搭建jni实例环境,如果不会,可以参考我的另外一篇文章 图文教程vs2008+eclipse开始jni教程实例(一)  当我们在做jni时,经常需要在C中调用或改动java类中成员的属性值,今天正好看到这里,做一下笔记。 先贴一下我的java 代码 package com.easou.abo.jnitest; public c

965

智能体开发套件(ADK)介绍

city } ---") city_normalized = city . lower() . replace(" " , "") # 模拟天气数据库 mock_weather_db = {

lpfasd123的博客 1407

图文教程vs2008+eclipse jni教程实例(四) 调用java类中的父类和子类方法。

Father.java代码 package com.easou.abo.jnitest; public class Father { public void function(){ System.out.println("Father::function"); } } Child.java代码 package com.easou.abo.jnitest; publi

742

前后端面试题【目录】

工作时候扭螺丝,面试时候造火箭,现状就是如此。不管是背八股文,还是掌握了知识的精华,对答如流才是硬道理。本专栏就是要集具前端精华,规范、算法、架构、封装、原理等一并汇集,让前端的小伙伴有个思路。, 欢迎一起交流,并非常期望您能够提供有价值的学习资料。

大剑师兰特的GIS世界 1836

【51单片机仿真】基于51单片机设计的多功能电子时钟日历(实时时钟闹钟秒表温度检测)系统__资料编号5

该项目是基于单片机的多功能电子时钟系统,集成了时间显示、闹钟设置、秒表功能以及温度显示等功能。主要硬件包括1602液晶显示屏、DS1302时钟芯片、DS18B20温度传感器和蜂鸣器。系统通过按键进行时间和闹钟的设置,并实时显示当前时间和温度。

嵌入式阿齐Archie 2万+

图文教程vs2008+eclipse jni教程实例(三) 调用java类中的方法属性。

java代码 package com.easou.abo.jnitest; public class Demo { public int number = 10; public native void test(); public static void main(String[] args) { System.loadLibrary("testJni"); De

896

SAP HANA CDS View Syntax Options 全解:从语法到工程实践

本文面向SAP HANA工程师,深入解析CDS视图的语法与应用场景。文章涵盖XS Advanced环境下的CDS视图设计要点,包括SELECT基础语法、聚合函数与分组约束、参数化视图实现以及常见连接操作。特别强调工程实践中的注意事项:GROUP BY禁用表达式、原生表名大小写规范、结果集裁剪方式选择等。通过两个真实案例(办公室占用率统计和客户画像分析)展示CDS视图在实际业务中的应用,并提供性能优化建议。全文采用中英文混排规范,技术术语使用反引号标注,旨在为开发者提供清晰的CDS视图开发指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 212

[cocos2d-x]环境配置、交叉编译及安卓项目的生成

1.配置cocos2d-x & Android开发环境 我想如果有意搞这个东东的,应该不用什么图文并茂了吧,稍微看一下就明白了。 1.1.安装VS2008 这是微软开发的集成开发环境,也是cocos2d-x的C++主战场,VS2008是VS系列最稳定的版本。 下载地址:http://pan.baidu.com/share/link?shar...

weixin_33895516的博客 110

一文吃透 SAP HANA JSON Document Store:从架构到实战的完整指南

本文详细介绍了SAP HANA的JSON Document Store功能,包括其定位、架构、典型场景以及具体使用方法。文章首先分析了半结构化数据场景下传统关系模型的局限性,说明Document Store如何通过集合(Collection)存储JSON文档来提供灵活性。随后详细阐述了启用方式、SQL语法、与Column Store的联动机制,并提供了大量可直接复用的实战案例。特别强调了Document Store作为HANA内建服务的优势,包括企业级一致性、备份恢复等能力。最后给出了数据类型处理和跨引擎协

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 201

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android Eclipse JNI开发示例

转自博客《android下NDK开发环境搭建及TestJNI入门实例完整过程 》  http://blog.csdn.net/adaixiaoxiao/article/details/51822744 前提:在搭建Eclipse和NDK的开发环境基础上进行JNI开发。 1.创建Android工程 2首先建立一个名为TestJni的Android工程,包名默认为com.e

chenjinlong126的博客 1760

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VS2008配置NDK开发环境

看到很多网上的文章都有写VS配置NDK开发环境,我是参考了其中的一篇文章,连接是点击打开链接。但是这篇文章里面的配置不能关联Application.mk文件。所以觉得不是很方便,经过一阵摸索,终于找到一个可以 关联Application.mk文件的方法。软件准备:1、VS20082、NDK具体步骤如下:1、打开VS2008,新建Makefile工程。2、在设置中设置编译、重新编译、清理的命令,de

心如止水-GISer的成长之路 4493

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

eclipse搭建JNI开发环境

前言 第一次知道Java和C语言可以进行混合编程还是在学校时,当时翻阅一本叫做Java核心技术的书,简单的看了一眼。多次尝试在eclipse下搭建开发环境,均已失败而告终,因此对JNI的研究便作罢 。 直至工作中,做的是android软件开发的工作,公司的主要业务是给银行做手机银行软件,比较注重安全问题,因此将一些加密算法的实现封装在so文件中,由此再次激发本宝宝的好奇心,这个so文件到底是个...

flueky的专栏 2951
上一篇: 浅析 Java Thread.join()
下一篇: 终于下决心好好研读Java开源项目源码
sunct
博客等级 码龄19年 45粉丝 178原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值