文档章节

二、JNI开发环境搭建与调试

unic0rn
 unic0rn
发布于 2016/07/14 16:23
字数 509
阅读 1K
收藏 0
jni

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

  1. 开发/编译环境的选择
  2. JNI代码调试

 

1.开发/编译环境的选择

        JNI技术在Java开发和Android开发中都有涉及,但是Android中的Java是google根据Android自身特性进行改造的,JNI编译环境与标准Java有所不同,Android中使用NDK进行JNI编译,而本文只介绍标准Java的JNI编译环境搭建与调试。

 

        JNI实际上是一段遵循Java本地调用接口的C或C++程序,所以JNI的编译也是用C/C++编译器。最终Java调用C/C++实际上是Java调用动态库实现的,windows下是dll,linux是so。

 

如果在Linux下,我们可以使用gcc完成JNI的编译。

如果在windows下,我们可以有以下几种选择:

  1. eclipse开发Java + VS 开发JNI(VS是windows下开发C/C++最好用的IDE)
  2. eclipse安装CDT同时开发Java和C/C++(安装CDT的eclipse开发C/C++比较鸡肋)

    

2.JNI代码调试

        在此只介绍在eclipse开发Java+VS开发JNI的环境下调试JNI代码

本文假设你已经有一个使用了JNI的Java工程,并且导入了eclipse且JNI代码也已经导入VS

 

1)在Java工程中将即将调用JNI的代码进行断点,以调试模式启动Java工程

2)在cmd中使用jps命令查看该Java工程进程的ID

3)在VS中对需要调试的JNI代码进行断点

4)在VS中打开菜单 调试->附加到进程 会打开附加窗口,根据进程ID找到Java进程,并点击附加

 

 

5)附加进程后,在eclipse中按F8继续运行,当程序执行到对应的JNI代码VS将会断点,你就可以在VS中继续调试JNI代码

加我QQ:981656164,共同学习交流,记得备注 —— OSC!  ~~ <( ̄3 ̄)> 

© 著作权归作者所有

上一篇: 三、JNI基本使用
下一篇: 一、JNI介绍
unic0rn

unic0rn

粉丝 9
博文 76
码字总数 36275
作品 1
泉州
项目经理
私信 提问
加载中

评论(0)

android NDK 在Ubuntu10.04开发环境的搭建

最近可能要用到调用jni,我对NDK和Jni了解非常的少,今天根据网络上的一些博客搭建了一下NDK的开发环境,但是继续往下编译jni这些就不会了,如果有哪位看到了,希望能帮帮忙 下面我将今天搭建...

雨焰
2013/03/19
441
0
欢迎进入阿钟的博客导航——快速查找所有博客

世上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离;世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;世界上最真情的相依,是你在try我在catch。无论你发神...

a_zhon
2016/08/25
0
0
Android Studio之NDK环境搭建,so文件打包以及使用

本篇入门教程开发环境为mac + Android Studio + gradle 2.14.1,主要包含以下3块内容: NDK环境搭建 编写第一个JNI项目 打包出动态so文件,在其他项目中使用 一、NDK环境搭建 从Android Stu...

ljianbing
2018/06/26
0
0
Eclipse替代ndk-gdb断点调试Android NDK程序

一 概述: Eclipse调试NDK程序的操作并不难,难的是环境的搭建。光是安装Eclipse就有不少问题,真是“大错不犯,小过不断”不胜期烦。在网上,已经有先行者记录下了Eclipse断点调试Android N...

胖老狼
2015/10/11
1.5K
0
NDK开发 eclipse相关开发环境的搭建

开发环境:windows+eclipse+NDK+cygwin (推荐这个偶然发现的音乐,听着心情就会变好) 在《android初涉NDK,从零打造你的第一个demo》(http://my.oschina.net/sosofy/blog/78353)中,我把打...

soso_fy
2012/09/25
6.3K
3

没有更多内容

加载失败,请刷新页面

加载更多

Kubernetes Ingress简单入门

本文转载自Rancher Labs 不知道你是否注意到一个奇怪的现象,尽管Kubernetes Ingress API仍然处于beta状态,但是已经有许多公司使用它来暴露Kubernetes服务。从事相关项目的工程师表示,Kub...

osc_slfjdpj6
21分钟前
21
0
ACCDB MDB Explorer for mac(数据库查看器)

想要更加直观的查看大数据,小编推荐使用mac数据查看工具ACCDB MDB Explorer Mac版,该软件能够将导入的数据库导出为XML,XLS,CSV和TXT格式的文件简便高效请添加链接描述,功能强大,需要的...

osc_63i522q0
23分钟前
14
0
二 javanio中的Channel transfer 内容

java nio中channel操作 分散 将channel中读取的数据分散写入多个buffer中 聚集 将多个buffer写入数据到同一个channel 应用 将消息头和消息体放入到不同buffer,便于分类处理应用 将消息头和消...

writeademo
23分钟前
26
0
如何更好的盘活和用好数据资产,企业如何构建数据竞争力的关键在这里!

在今年4月公布的《中共中央国务院关于构建更加完善的要素市场化配置体系机制的意见》中,“数据”首次作为一种新型生产要素写入中央文件中,与土地、劳动力、资本、技术等传统要素并列成为要...

osc_5asswvor
23分钟前
18
0
如何更好的盘活和用好数据资产,企业如何构建数据竞争力的关键在这里!

在今年4月公布的《中共中央国务院关于构建更加完善的要素市场化配置体系机制的意见》中,“数据”首次作为一种新型生产要素写入中央文件中,与土地、劳动力、资本、技术等传统要素并列成为要...

osc_e7clsgkf
24分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部