Current location - Quotes Website - Personality signature - On JNI's Discovery Class
On JNI's Discovery Class
Please refer to the code I made before. I sent the jni information to your email, please check it.

// JniC2Java.cpp: defines the entry point of the console application.

//

# contains "stdafx.h"

Use namespace std

int main()

{

JavaVMOption [1]; //has various option settings for the JVM.

JNIEnv * env// stands for JNI execution environment.

JavaVM * jvm// is a pointer to JVM, which is mainly used to create, initialize and destroy JVM.

JavaVMInitArgs vm _ args// represents various JVM parameters that can be used to initialize the JVM.

Long state; Did the JVM create successfully?

Jclass cls// specifies the class definition of the object (jclass)

The definition of jmethodID mid// calling method (jmethodID)

Jinte Square;

Jinte Square 2;

job object jobj;

//Set the reference jar package, which can be modified.

Option [0]. option string = "-DJ ava . class . path =。 ; . /power authority . jar; . /sqljdbc . jar; . /log4j- 1 . 2 . 14 . jar; . /framework . jar; . /commons-logging . jar; . /log4j . properties; . /app context . XML; . /power authority . log ";

VM _ args. VERSION = JNI _ version _1_ 2;

VM _ args . no options = 1;

vm _ args.options = options

status = JNI _ CreateJavaVM(& amp; jvm,(void * *)& amp; Environment & VM _ args); //Creating jvm successfully returns 0, and JNI_ERR is unsuccessful.

If (status! = JNI _ Error) {// jvm created successfully.

//Get the instance object

cls = env-& gt; find class(" powersys/util/JNITools "); //Get the class definition (jclass) of the specified object.

If (cls! =0) {

mid = env->GetMethodID(cls," & ltinit >;" ,"()V ");

If (in! =0){

jobj = env-& gt; NewObject(cls,mid);

STD::cout & lt; & lt "initialization is normal"<< mid<< STD:: endl;

}

//Call login verification

mid = env->GetMethodID( cls," checkLogin ","(Ljava/lang/String; ljava/lang/String; ) I "); //Read the definition of the method to be called (jmethodID)

If (in! =0){

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF(" "),env-& gt; NewStringUTF(" 1 1 1 ")); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin "),env-& gt; NewStringUTF(" "); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin 1 "),env-& gt; NewStringUTF(" admin ")); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("abcd "),env-& gt; NewStringUTF(" 1234056 "); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("abcd "),env-& gt; NewStringUTF(" 123456 "); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin "),env-& gt; NewStringUTF(" admin ")); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("test "),env-& gt; NewStringUTF(" 123456 "); //Call the method

STD::cout & lt; & lt square & lt< STD:: endl;

STD::cout & lt; & lt "check login success"<< mid<< STD:: endl;

}

//Call to check whether you have operation permission.

mid = env->GetMethodID( cls," checkAuthority ","(Ljava/lang/String; ljava/lang/String; ) I ");

If (in! =0){

square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("test "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));

STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;

square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("test "),env-& gt; NewStringUTF(" powersys . frame . jdialog . edituserjdialog "));

STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;

square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF(" "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));

STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;

square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));

STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;

square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("da3 "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));

STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;

square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("bush "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));

STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;

STD::cout & lt; & lt "Check permission is normal"< & ltsd:: endl;

}

}

JVM-& gt; DestroyJavaVM();

Returns 0;

}

other

return- 1;

}