質問するログイン新規登録

質問編集履歴

2

ソースコードの修正

2020/02/03 07:53

投稿

Wind
Wind

スコア442

title CHANGED
File without changes
body CHANGED
@@ -49,7 +49,7 @@
49
49
  const jint intLength = env->GetArrayLength(intValues);
50
50
  jint *intValuesCpp = env->GetIntArrayElements(intValues, 0);
51
51
 
52
- int32_t intDat[intLength];
52
+ int intDat[intLength];
53
53
  // for(int i=0;i<intLength ;i++)
54
54
  // intDat[i] = 0;
55
55
 

1

ソースコードの修正

2020/02/03 07:53

投稿

Wind
Wind

スコア442

title CHANGED
File without changes
body CHANGED
@@ -41,26 +41,42 @@
41
41
  #include <string>
42
42
 
43
43
  extern "C" JNIEXPORT jstring JNICALL
44
- Java_s_test_cpptestplus_MainActivity_stringFromJNI(
44
+ Java_s_glc_cpptestplus_MainActivity_stringFromJNI(
45
- JNIEnv *env, jobject,
45
+ JNIEnv *env,
46
+ jobject /* this */,
46
47
  jintArray intValues
47
48
  ) {
48
49
  const jint intLength = env->GetArrayLength(intValues);
49
50
  jint *intValuesCpp = env->GetIntArrayElements(intValues, 0);
50
51
 
51
- int intDat[intLength];
52
+ int32_t intDat[intLength];
53
+ // for(int i=0;i<intLength ;i++)
54
+ // intDat[i] = 0;
55
+
56
+ /*
57
+ intDat[0] = intValuesCpp[0];
58
+ intDat[1] = intValuesCpp[1];
59
+ intDat[2] = intValuesCpp[2];
60
+ intDat[3] = intValuesCpp[3];
61
+ intDat[4] = intValuesCpp[4];
62
+ intDat[5] = intValuesCpp[5];
63
+ intDat[6] = intValuesCpp[6];
64
+ intDat[7] = intValuesCpp[7];
65
+ intDat[8] = intValuesCpp[8];
66
+ intDat[9] = intValuesCpp[9];
67
+ */
52
68
  for(int i = 0;i < intLength;i++)
53
- intDat[i] = intValuesCpp[i]; // 2回目からintDatが壊れてしまう
69
+ intDat[i] = intValuesCpp[i];
54
70
 
55
71
  std::string strValues = "";
56
- for(int i=0;i<intLengh;i++)
72
+ for(int i = 0;i < intLength;i++)
57
73
  strValues += intDat[i];
58
74
 
75
+
59
- env->ReleaseIntArrayElements(intValues, intValuesCpp, false);
76
+ env->ReleaseIntArrayElements(intValues, intValuesCpp,false);
60
77
  std::string hello = "Hello from C++" + strValues;
61
78
  return env->NewStringUTF(hello.c_str());
62
79
  }
63
-
64
80
  ```
65
81
 
66
82
  ```app