-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathSample1.cpp
35 lines (31 loc) · 940 Bytes
/
Sample1.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "Sample1.h"
#include <string.h>
#include <iostream>
JNIEXPORT jint JNICALL Java_Sample1_intMethod
(JNIEnv *env, jobject obj, jint num){
return num * num;
}
JNIEXPORT jboolean JNICALL Java_Sample1_booleanMethod
(JNIEnv *env, jobject obj, jboolean boolean){
return !boolean;
}
JNIEXPORT jstring JNICALL Java_Sample1_stringMethod
(JNIEnv *env, jobject obj, jstring string){
const char *str = env->GetStringUTFChars(string,0);
char cap[128];
strcpy(cap,str);
env->ReleaseStringUTFChars(string , str);
return env->NewStringUTF(cap);
}
JNIEXPORT jint JNICALL Java_Sample1_intArrayMethod
(JNIEnv *env, jobject obj, jintArray array){
int i, sum=0;
jsize len = env->GetArrayLength(array);
jint *body = env ->GetIntArrayElements(array,0);
for (i=0;i<len;i++)
{
sum+=body[i];
}
env->ReleaseIntArrayElements(array, body,0);
return sum;
}