(原)不明白JNI指针调用顺序
很不明白JNI里面获取指针的顺序(可能这样描述不太恰当吧)。
下面按照传入指针的顺序的代码一跑就崩溃。如下:
JNIEXPORT jint JNICALL Java_com_example_X_XX_XXX
(JNIEnv * env, jclass, jbyteArray databuf, jint width, jint height, jstring path, jintArray x1)
{
jboolean* pArraydata = (jboolean*)env->GetPrimitiveArrayCritical(databuf, );
char* pApath=env->GetStringUTFChars(path,);
jint* pAx1 = (jint*)env->GetPrimitiveArrayCritical(x1, ); // code; env->ReleasePrimitiveArrayCritical(databuf, pArraydata, );
env->ReleaseStringUTFChars(path, pApath);
env->ReleasePrimitiveArrayCritical(x1, pAx1, ); return eyedist;
}
之后将获取指针的顺序稍微修改了一下,然后就可以跑过去了。如下:
JNIEXPORT jint JNICALL Java_com_example_X_XX_XXX
(JNIEnv * env, jclass, jbyteArray databuf, jint width, jint height, jstring path, jintArray x1)
{
jboolean* pArraydata = (jboolean*)env->GetPrimitiveArrayCritical(databuf, );
jint* pAx1 = (jint*)env->GetPrimitiveArrayCritical(x1, );
char* pApath=env->GetStringUTFChars(path,); // code; env->ReleasePrimitiveArrayCritical(databuf, pArraydata, );
env->ReleasePrimitiveArrayCritical(x1, pAx1, );
env->ReleaseStringUTFChars(path, pApath); return eyedist;
}
(原)不明白JNI指针调用顺序的更多相关文章
- [原]捉虫记3:_ConectionPtr指针调用open失败
背景 产品使用MySQL来存储报警服务产生的报警.在报警服务的组件中使用ADO接口 客户方有两台计算机,一台计算机A用来组态,且可以对设备进行调试,操作系统是Win7 64bit 专业版,安装了VS2 ...
- cocos2d-x中使用JNI的调用JAVA方法
用cocos2d-x公布Android项目时.都应该知道要用JAVA与C/C++进行交互时会涉及到JNI的操作(Java Native Interface).JNI是JAVA的一个通用接口.旨在本地化 ...
- C++ 构造函数和析构函数的调用顺序、虚析构函数的作用
构造函数和析构函数的调用顺序 构造函数的调用顺序: 当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达最底层的目标派生类的构造函数为止. 析构函数的调用书序: ...
- Android 页面跳转之生命周期调用顺序问题
Android Activity 常用技巧 Android Activity 启动模式和任务栈 Android 页面跳转之生命周期调用顺序问题 一.页面跳转逻辑分析 1.1 跳转逻辑分析 Androi ...
- C++复习14 构造函数初始化调用顺序
1.关于构造函数初始化调用顺序的问题. 首先是父类和子类的,首先调用父类的构造函数,然后调用子类的构造函数.但是对于子类中有其他类型的数据成员的时候,会在调用该类的构造函数之前,调用其数据成员的构造函 ...
- JNI注册调用完整过程-安卓4.4
在Android系统中,JNI方法是以C/C++语言来实现的,然后编译在一个so文件里面,以我之前的例子为例Android Studio使用JNI,调用之前要加载到当前应用程序的进程的地址空间中: s ...
- python 多个装饰器的调用顺序
python 多个装饰器的调用顺序 一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器.多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则). 原代 ...
- 初始化错误——从一个简单的算例看UDF各个宏的调用顺序
感谢西安交通大学en_phert的问题和尝试 Fluent版本:Fluent 19.0 Visual Studio版本:Visual Studio 2013 在UDF的宏的调用中大家常看见下图: 这个 ...
- 3.(基础)tornado的接口调用顺序与模板
上一节介绍了tornado的请求与响应,这一节介绍tornado的接口调用顺序和模板 首先都有哪些接口呢?作用是什么呢?并且都有的时候,执行顺序是怎么样的呢? 接口 1.initialize,表示初始 ...
随机推荐
- 不同频率下的pwm配置
200k //PWM1 PWMPERDL1=0xb3; PWMPERDH1= 0x00; PWMCCNTL1=0x6B; PWMCCNTH1= ; PWMDBDY1=0x2B; //死区延时计时器 / ...
- JAVA $ JSP
1. java中数据类型分为两种 基本数据类型:数值型,字符型,布尔型 引用数据类型:类,接口,数组 基本数据类型所占空间固定,有别与C++,java中没有无符号数byte:1字节short: ...
- show_space/get_alert_log/get_trace_file
1.get_alert_log 获取alert文件的路径和名称 set serveroutput on --设置输出,让sqlplus在屏幕上可以输出.(要加入到login.sql中!) ...
- Java系列--目录
因工作项目的需要,从C#转Java也有很长一段时间了,决定记载归纳一下这半年到底学了什么,到了一个什么程度,当然其间可能会有一些关于.NET的对比. 这是这个系列的目录,我准备按照我的归纳学习点来写, ...
- 转载:s:if的用法
转载网址:http://blog.csdn.net/menhuanxiyou/article/details/5709550 1:直接写表达式 <s:set name="china&q ...
- NPM下载出错 No compatible version found
前言 NPM大家都熟,天天都在用.最近,NPM不断出现的下载出错 “npm ERR! Error: No compatible version found” ,已经影响到正常的开发工作,到了不得不解决 ...
- smarty模板执行原理
为了实现程序的业务逻辑和内容表现页面的分离从而提高开发速度,php 引入了模板引擎的概念,php 模板引擎里面最流行的可以说是smarty了,smarty因其功能强大而且速度快而被广大php web开 ...
- openwrt下和云端通讯的例程,
openwrt下和云端通讯的例程 ibcurl 官方文档请参考这里 http://curl.haxx.se/libcurl/c/curl_easy_setopt.html 刚接触 libcurl的时候 ...
- Majority Element II 解答
Question Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. Th ...
- Java 自定义实现 LRU 缓存算法
背景 LinkedHashMap继承自HashMap,内部提供了一个removeEldestEntry方法,该方法正是实现LRU策略的关键所在,且HashMap内部专门为LinkedHashMap提供 ...