// 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!
*/