zoukankan      html  css  js  c++  java
  • C++ 复制vector值到array,复制 array 到jintArray

     // [feature 1 ] copy vector value to array

    vector<int> vec ;
    for (int i = 0 ;i<10;++i)
    {
        vec.push_back(i);
        printf("%d",vec.at(i));
    }

    int vecSize = vec.size();

    if (vecSize == 0) return;

    int *arr = new int[vec.size()];  //初始化数组大小  New 
    for (int i = 0 ;i<vec.size();++i)
    {
        arr[i] = vec.at(i);
        printf("%d",arr[i]);
    }

    JniMethodInfo t;

    // [feature 2 ] copy array to jintArray

    // [REF jni.h] void SetIntArrayRegion(jintArray array, jsize start, jsize len, const jint* buf)
    jintArray ja= t.env->NewIntArray((jint)vecSize); //if (ja == NULL) return NULL;
    jint bf[vecSize];
    for (int i = 0;i<vecSize;++i)
    {
      bf[i]=arr[i];
    }
    t.env->SetIntArrayRegion(ja,0,vecSize,bf)

    t.env->CallStaticVoidMethod(t.classID, t.methodID, ja);
    t.env->DeleteLocalRef(t.classID);

    delete [] arr;                         // 释放

  • 相关阅读:
    java中的Class类
    装机
    CSS入门
    初级HTML
    IO加强
    Lambda表达式
    IOStream-基础
    JavaSE阶段基础内容(不包括I/O,常用类,集合)
    markdown学习
    Log4j配置详解
  • 原文地址:https://www.cnblogs.com/idcenter/p/4726258.html
Copyright © 2011-2022 走看看