c++调用java笔记
来源:互联网 发布:c new delete 数组 编辑:程序博客网 时间:2024/06/06 18:49
头文件
#ifndef OBJECT_H#define OBJECT_H#include "jni.h"class Object{public: Object(); static bool BeginJVM(); static bool EndJVM();protected: static JNIEnv* env; static JavaVM* jvm;};#endif // OBJECT_H
源文件:
#include "object.h"//#include "JavaClasses.h"#include "Object.h"#include"QDebug"#include"iostream"#include"stdio.h"using namespace std;Object::Object(){}JNIEnv* Object::env=new JNIEnv;JavaVM* Object::jvm=new JavaVM;//创建JVMbool Object::BeginJVM(){ JavaVMOption options[3]; JavaVMInitArgs vm_args; //各种参数 options[0].optionString = "-Djava.compiler=NONE"; options[1].optionString = "-Djava.class.path=."; options[2].optionString = "-verbose:jni";//用于跟踪运行时地信息// options[3].optionString = "-Djava.library.path=C:/Program Files/Java/jre7/bin/client"; vm_args.version=JNI_VERSION_1_1; vm_args.options=options; vm_args.nOptions=3; vm_args.ignoreUnrecognized = JNI_TRUE; qDebug("dddddd"); //创建JVM,获得jvm和env cout<<&jvm<<" "<<(void **)&env<<" "<<&vm_args; int res = JNI_CreateJavaVM(&jvm,(void **)&env, &vm_args); qDebug(res+""); return true;}bool Object::EndJVM(){ //关闭JVM jvm->DestroyJavaVM(); return true;}
main文件:
#include <QCoreApplication>#include"object.h"#include"QDebug"int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); Object obj; if(obj.BeginJVM()) qDebug("true"); return a.exec();}
0 0
- jni 学习笔记(java调用c++)
- 个人笔记C/C++调用java
- NDK学习笔记<四> C语言调用java方法
- java调用C语言
- java调用c
- 实现java调用c
- Java调用C/C++
- C调用JAVA
- C/C++调用Java
- java调用C
- java调用c、c++
- Android C调用Java
- Java调用C JNI
- java调用c程序
- Java调用C/C++
- Java调用C语言
- android java 调用 c
- java 调用C/C++
- Mysql中文字符显示
- 硬盘的结构
- Android - UI线程和异步(AsyncTask)线程
- bit-band
- 【RHEL7】SELinux
- c++调用java笔记
- Android - Exception raised during rendering: java.lang.System.arraycopy
- HDU5141 - LIS again(LIS的变形)
- ray ban aviator RTBK 4RQS 8H5a
- boost正则简单字符串替换笔记
- 第十一周项目四(2)——特殊的三位数
- C语言中数组的定义和使用
- Android - gravity和layout_gravity区别
- 最简单的List集合排序方法