灌木大叔

每一个不曾起舞的日子都是对以往生命的辜负!!

  :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::
  89 随笔 :: 114 文章 :: 4 评论 :: 22万 阅读
复制代码
 1 #include "jni.h"  
 2 #include "windows.h"  
 3 #include "stdafx.h"  
 4 typedef jint (WINAPI *_CreateJavaVM)(JavaVM **, void **, void *);  
 5 int _tmain(int argc, _TCHAR* argv[])  
 6 {  
 7     int res;  
 8     JavaVMInitArgs vm_args;  
 9     JavaVMOption options[3];  
10     JavaVM *jvm;  
11     JNIEnv *env;  
12     /*设置初始化参数*/  
13     options[0].optionString = "-Djava.compiler=NONE"; //Disabled JIT  
14     options[1].optionString = "-Djava.class.path=.;hello.jar";  
15     options[2].optionString = "-verbose:NONE";  
16     vm_args.version = JNI_VERSION_1_6;  
17     vm_args.nOptions = 3;  
18     vm_args.options = options;  
19     vm_args.ignoreUnrecognized = JNI_TRUE;  
20     // Load jvm.dll  
21     HINSTANCE hInstance = LoadLibrary(L"C://Program Files//Java//jre6//bin//client//jvm.dll");  
22     if (hInstance == NULL)  
23         return false;  
24     _CreateJavaVM m_CreateJavaVM = (_CreateJavaVM)GetProcAddress(hInstance, "JNI_CreateJavaVM");  
25     res = (*m_CreateJavaVM)(&jvm, (void**)&env, &vm_args);  
26     if (res < 0)  
27         return -1;  
28     // Find the class  
29     jclass HelloClass = env->FindClass("app/Hello");  
30     // Find the main method id  
31     jmethodID Hello_main =   
32     env-> GetStaticMethodID(HelloClass, "main", "([Ljava/lang/String;)V");  
33     // Call the main method.  
34     env->CallStaticVoidMethod(HelloClass, Hello_main);  
35     jvm->DestroyJavaVM();  
36     FreeLibrary(hInstance);  
37     return 0;  
38 }  
复制代码

 

posted on   灌木大叔  阅读(744)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示