#include "stdafx.h"
#include <stdio.h>
#include <locale.h>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int a = 2;
const int b = a;
int v[b];
cout << b << "\n";
return 0;
}
#include "my_mega_pack_NativeCallsClass4.h"
#include <stdio.h>
#include <locale.h>
#include <iostream>
#include <fstream>
using namespace std;
int kolvodel(int * poslChis,int SIZE) {
int colvo = 0;
int colvopr = 0;
ofstream of11;
of11.open("C:\\Users\\lenovo\\Desktop\\rj\\Лабораторная работа 4\\1 задание\\file11.txt");
for (int i = 0; i < SIZE; i++) {
for (int k = 1; k <= poslChis[i]; k++) {
if (k == 1) {
of11 << "<" << poslChis[i] << "> ";
}
if (poslChis[i] % k == 0) {
of11 << k << ",";
colvo++;
}
}
of11 << " " << "number of dividers: " << colvo << " ";
if (colvo <= 2) {
of11 << "(Simple)";
colvopr++;
}
else {
of11 << "(Complex)";
}
of11 << "\n";
colvo = 0;
}
of11 << "Total prime numbers: " << colvopr << "\n";
of11.close();
return colvopr;
}
JNIEXPORT jint JNICALL Java_my_mega_pack_NativeCallsClass4_lab41
(JNIEnv * env, jobject obj, jintArray array) {
jsize SIZE = env->GetArrayLength( array);
jint* poslChisl = env->GetIntArrayElements( array, NULL);
int mk = (poslChisl, SIZE);
env->ReleaseIntArrayElements( array, poslChisl, JNI_ABORT);
return mk;
JNIEXPORT jint JNICALL Java_my_mega_pack_NativeCallsClass4_lab41
(JNIEnv * env, jobject obj, jintArray array) {
jsize SIZE = env->GetArrayLength( array);
jint* poslChisl = env->GetIntArrayElements( array, NULL);
setlocale(LC_ALL, "RUS");
int mk = kolvodel(poslChisl, SIZE);
env->ReleaseIntArrayElements(array, buffer, 0);
return mk;
};
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocale(341): warning C4530: Использован обработчик исключений C++, но семантика уничтожения объектов не включена. Задайте параметр /EHsc
NativeCallsClass4.cpp(54): error C2664: "int kolvodel(int [],const int)": невозможно преобразовать аргумент 1 из "jint *" в "int []"
NativeCallsClass4.cpp(54): note: Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
NativeCallsClass4.cpp(55): error C2065: buffer: необъявленный идентификатор
JNIEXPORT jint JNICALL Java_my_mega_pack_NativeCallsClass4_lab41
(JNIEnv * env, jobject obj, jintArray array) {
jsize SIZE = (*env)->GetArrayLength(env, array);
jint* poslChisl = (*env)->GetIntArrayElements(env, array, NULL);
setlocale(LC_ALL, "RUS");
int mk = kolvodel(poslChisl, SIZE);
(*env)->ReleaseIntArrayElements(env, array, buffer, 0);
return mk;
};
C:\Users\lenovo\Desktop>cl -I"C:\Program Files\Java\jdk-9\include" -I"C:\Program Files\Java\jdk-9\include\win32" -I"C:\Program Files\Java\jdk-9\include\win32\bridge" -LD NativeCallsClass4.cpp -FeNativeCallsClass4
Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.00.24231 для x64
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
NativeCallsClass4.cpp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocale(341): warning C4530: Использован обработчик исключений C++, но семантика уничтожения объектов не включена. Задайте параметр /EHsc
NativeCallsClass4.cpp(48): error C2819: тип "JNIEnv_" не имеет перегруженный "operator ->"
C:\Program Files\Java\jdk-9\include\jni.h(787): note: см. объявление "JNIEnv_"
NativeCallsClass4.cpp(48): note: возможно, имеется в виду "."
NativeCallsClass4.cpp(48): error C2232: ->JNIEnv_::GetArrayLength: левый операнд имеет тип "struct", используйте "."
NativeCallsClass4.cpp(49): error C2819: тип "JNIEnv_" не имеет перегруженный "operator ->"
C:\Program Files\Java\jdk-9\include\jni.h(787): note: см. объявление "JNIEnv_"
NativeCallsClass4.cpp(49): note: возможно, имеется в виду "."
NativeCallsClass4.cpp(49): error C2232: ->JNIEnv_::GetIntArrayElements: левый операнд имеет тип "struct", используйте "."
NativeCallsClass4.cpp(54): error C2664: "int kolvodel(int [],const int)": невозможно преобразовать аргумент 1 из "jint *" в "int []"
NativeCallsClass4.cpp(54): note: Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
NativeCallsClass4.cpp(55): error C2819: тип "JNIEnv_" не имеет перегруженный "operator ->"
C:\Program Files\Java\jdk-9\include\jni.h(787): note: см. объявление "JNIEnv_"
NativeCallsClass4.cpp(55): note: возможно, имеется в виду "."
NativeCallsClass4.cpp(55): error C2232: ->JNIEnv_::ReleaseIntArrayElements: левый операнд имеет тип "struct", используйте "."
NativeCallsClass4.cpp(55): error C2065: buffer: необъявленный идентификатор
C:\Users\lenovo\Desktop>