// ToTest.cpp : 定义 DLL 应用程序的导出函数。
//
#include "stdafx.h"
#include "..\ToTest.h"
/*
* Class: ToTest
* Method: getNum
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_ToTest_getNum
(JNIEnv * env, jobject obj){
jclass ToTestClass = env->FindClass("ToTest");//GetObjectClass(env,obj);
jfieldID fieldID=env->GetFieldID(ToTestClass,"m_num","I");
jint iNum=env->GetIntField(obj,fieldID);
return iNum;
}
/*
* Class: ToTest
* Method: setNum
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_ToTest_setNum
(JNIEnv *env, jobject obj, jint iNum){
jclass ToTestClass = env->FindClass("ToTest");//GetObjectClass(env,obj);
jfieldID fieldID=env->GetFieldID(ToTestClass,"m_num","I");
env->SetIntField(obj,fieldID,iNum);
return ;
}
class TestJNIGetSet
{
public static void main(String[] args)
{
ToTest t=new ToTest();
System.out.println("t.getNum()="+t.getNum());
System.out.println("t.setNum(100)");
t.setNum(100);
System.out.println("t.getNum()="+t.getNum());
System.out.println("Hello World!");
}
}
class ToTest
{
private int m_num=0;
public native int getNum();
public native void setNum(int num);
static{
System.loadLibrary("ToTest");
}
}
/*
t.getNum()=0
t.setNum(100)
t.getNum()=100
Hello World!
*/