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的更多相关文章

  1. 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 ...

随机推荐

  1. maven 编译报错 java: -source 1.6 中不支持switch 中存在字符串

    maven项目的pom文件里面添加 <build><defaultGoal>compile</defaultGoal><pluginManagement> ...

  2. js生成二维码/html2canvas生成屏幕截图

    1.需求简述 (1) 最初需求: 根据后台接口获取url,生成一个二维码,用户可以长按保存为图片.(这时的二维码只是纯黑白像素构成的二维码) 方案1: 使用jquery.qrcode.min.js插件 ...

  3. 解决python中write()函数向文件中写中文时出现乱码的问题

    今天看<python编程从入门到实践>的第10章文件.异常,在做练习的时候,向文件中写内容,但是写中文就不行,后来在百度上查了众多资料,解决方法如下: 解决:在open()函数中添加一个e ...

  4. Tomcat 安装、配置与部署

    Tomcat的官方网站:http://tomcat.apache.org/,目前最新版本为7.0. Tomcat下载地址: 1.32位:http://mirrors.tuna.tsinghua.edu ...

  5. 创建pfx数字证书

    相关参考: 安全工具: http://msdn.microsoft.com/zh-cn/library/dd233106(v=vs.110).aspx makecert: http://msdn.mi ...

  6. nginx常用

    1.rewrite return 301 http://example.com$request_uri; rewrite ^ http://example.com permanent; 2.try_f ...

  7. Apache添加多端口

    Apache\conf 目录下 添加端口监听     Vhost.conf简单写写

  8. java要注意的问题3

    十七.使用正则 正则表达式的结构摘录如下(来源: Oracle官网) 字符 x 字符x / 反斜杠 /0n 8进制值为0n的字符(0<=n<=7) /0nn   /0mnn 8进制值为0m ...

  9. GIT学习笔记(4):远程分支

    GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓 ...

  10. LeetCode:括号的分数【856】

    LeetCode:括号的分数[856] 题目描述 给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分. AB 得 A + B 分,其中 A 和 B 是平衡括号字符串. (A) ...