博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jni c++调用java
阅读量:5253 次
发布时间:2019-06-14

本文共 1390 字,大约阅读时间需要 4 分钟。

 1. jvm.dll要在环境变量PATH,例如 ...;D:\java\sdk6\jre\bin\client

 2. 需要的jar要合并为一个

 

B=byte    C=char    D=double    F=float    I=int    J=long    S=short    V=void    Z=boolean    Lfully-qualified-class=fully qualified class    [type=array of type>    (argument types)return type=method type. If no arguments, use empty argument types: (). If return type is void (or constructor) use (argument types)V.

 

void test02(){    JNIEnv *env;    JavaVM *jvm;    jint res;    JavaVMInitArgs vm_args;    vm_args.version = JNI_VERSION_1_6;    vm_args.options = 0;    vm_args.nOptions = 0;    vm_args.ignoreUnrecognized = JNI_TRUE;       res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args );    printf( "JNI_CreateJavaVM %d\n", res );    if ( res != 0 )        return;    jclass j_system = env->FindClass("java/lang/System");    jfieldID j_system_out_id = env->GetStaticFieldID( j_system, "out", "Ljava/io/PrintStream;");    jobject j_system_out = env->GetStaticObjectField( j_system, j_system_out_id );    jclass j_system_out_class = env->GetObjectClass(j_system_out);    jmethodID j_system_out_println = env->GetMethodID( j_system_out_class, "println", "(Ljava/lang/String;)V" );    jstring val = env->NewStringUTF("call from c++");    env->CallVoidMethod( j_system_out, j_system_out_println, val );    if ( jvm )        (jvm)->DestroyJavaVM();}

转载于:https://www.cnblogs.com/looooj/archive/2012/08/03/2622180.html

你可能感兴趣的文章
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
CentOS 简单命令
查看>>
使用 SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>
MacOS copy图标shell脚本
查看>>
国外常见互联网盈利创新模式
查看>>
Oracle-05
查看>>
linux grep 搜索查找
查看>>
Not enough free disk space on disk '/boot'(转载)
查看>>
android 签名
查看>>
vue项目中使用百度统计
查看>>
android:scaleType属性
查看>>
SuperEPC
查看>>
mysql-5.7 innodb 的并行任务调度详解
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
Js时间处理
查看>>
Java项目xml相关配置
查看>>