JNIjw02
1、VC6(CPP)的DLL代码:
- #include<stdio.h>
- #include "jniZ_JNIjw02.h"
- JNIEXPORT void JNICALL Java_jniZ_JNIjw02_TestZ (JNIEnv * env, jobject obj)
- {
- printf("Java_jniZ_JNIjw02_TestZ - 1\n");
- // ∵ TestZ() 不是静态函数,∴传进来的就是调用这个函数的对象.
- // 否则就传入一个jclass对象表示native方法所在的类
- jclass jni02_clazz = env->GetObjectClass(obj);
- jfieldID fieldID_prop = env->GetFieldID(jni02_clazz, "propertyZ", "I");
- jmethodID methodID_func = env->GetMethodID(jni02_clazz, "FunctionZ", "(ILjava/util/Date;[I)I");
- env->CallIntMethod(obj, methodID_func, 0L, NULL, NULL); // invoke !
- printf("Java_jniZ_JNIjw02_TestZ - 2\n");
- }
2、Java代码:
- package jniZ;
- import java.util.Date;
- public class JNIjw02
- {
- public int propertyZ;
- public int FunctionZ(int _foo, Date _date, int[] _arr)
- {
- System.out.println("FunctionZ");
- return 0;
- }
- public native void TestZ();
- public static void main(String[] args)
- {
- System.loadLibrary("JNIjwVC6_02");
- JNIjw02 jni02 = new JNIjw02();
- jni02.TestZ();
- /*
- ZC: 为什么打印的顺序是这样的? :
- FunctionZ
- Java_jniZ_JNIjw02_TestZ - 1
- Java_jniZ_JNIjw02_TestZ - 2
- ZC: 个人觉得应该是这样啊 :
- Java_jniZ_JNIjw02_TestZ - 1
- FunctionZ
- Java_jniZ_JNIjw02_TestZ - 2
- */
- }
- }
3、Java控制台输出:
- FunctionZ
- Java_jniZ_JNIjw02_TestZ - 1
- Java_jniZ_JNIjw02_TestZ - 2
4、
5、
JNIjw02的更多相关文章
- JNI_Z_03_类中的字段和方法的签名
1. Java类型 相应的签名 例子 boolean Z byte B char C short S int I long L float F double D void V Object L用&qu ...
随机推荐
- net.mvc中并发限制
浏览器限制 会话限制 线程限制 这篇文章讲的很详细: https://weblogs.asp.net/imranbaloch/concurrent-requests-in-asp-net-mvc 明白 ...
- mysql 中用户默认密码加密问题
问题描述: 在mysql中 user表中新增用户默认密码为123456,但是在数据库中显示不能为明文,而mysql的默认字段不能用函数 解决方法: 用触发器 delimiter | drop trig ...
- 剑指Offer——旋转数组的最小数字
题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一 ...
- django-Query Ajax 实例 ($.ajax、$.post、$.get)
Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. 推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:ht ...
- django的cookie和session以及缓存
cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...
- 我的Android进阶之旅------>android Button上面的英文字符串自动大写的问题解决
今天碰到一个关于Button的问题:android Button上面的英文字符串会自动变成大写,运行的Android 5.1版本,如下图所示: 图1:Button 图2:TextView 这个Butt ...
- Codeforce 475 C. Kamal-ol-molk's Painting
从最左上的点開始枚举长宽.... C. Kamal-ol-molk's Painting time limit per test 2 seconds memory limit per test 256 ...
- HTML中的SEO和HTML语义化
SEO 1) <title>网站SEO标题</title>, 百度搜索出来的记录, 其标题基本就提取至网站的title, 标签, 因此标题起的好, 不论对点击率还是SEO都至关 ...
- C++异常安全、copy and swap
异常安全的代码是指,满足两个条件 1异常中立性 : 是指当你的代码(包括你调用的代码)引发异常时,这个异常 能保持原样传递到外层调用代码.(异常中立,就是指任何底层的异常都会抛出到上层,也就相当于是异 ...
- Python(递归)
递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以 ...