main.cpp

来自「java深度历险的随书源代码」· C++ 代码 · 共 55 行

CPP
55
字号

#include<iostream>
#include<jni.h>

using namespace std ;

int main()
{
	JavaVM* jvm ;
	JNIEnv* env ;
	JavaVMOption options[1] ;
	JavaVMInitArgs vmargs ;
	long status ;

	options[0].optionString = "-Djava.class.path=D:\\java_and_vsdotnet\\java";  

	vmargs.version = JNI_VERSION_1_2;
	vmargs.options = options;
	vmargs.nOptions = 1;


	status = JNI_CreateJavaVM(&jvm,(void**)&env,&vmargs) ;
	if(status != JNI_OK)
	{
		cout << "Java虚拟机器建立失败/不知名的错误" << endl ;
		cout << "错误代码 : " << status << endl ;
		return 1 ;
	}
	cout << "Java虚拟机器建立成功" << endl;

	jclass toolclass ;
	toolclass = env->FindClass("MyToolkit") ;
	if(toolclass == NULL)
	{
		cout << "找不到MyToolkit类别" ;
		return 1 ;
	}

	jstring jstr = env->NewStringUTF("My first class!");

	
	jmethodID function ;
	function = env->GetStaticMethodID(toolclass,"function1","(Ljava/lang/String;)V") ;
	if(function == NULL)
	{
		cout << "找不到function1函式" ;
		return 1 ;
	}
	env->CallStaticVoidMethod(toolclass, function, jstr);


	jvm->DestroyJavaVM();
	return 0 ;
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?