#include "pch.h"
FARPROC loadDll(LPCWSTR dllname, LPCSTR procName)
{
setlocale(LC_ALL, "Rus");
HMODULE dll = LoadLibraryW(dllname);
if (!dll) {
cout << "dll не загружена";
system("pause");
}
FARPROC farproc = GetProcAddress(dll, procName);
if (!farproc) {
cout << "функция из dll не загружена";
system("pause");
}
return farproc;
FreeLibrary(dll);
}
jint java(JavaVM **vm, void **env ) {
typedef jint(*jNI_CreateJavaVM)(JavaVM **, void **, void *);
JavaVMInitArgs vm_args;
JavaVMOption* options = new JavaVMOption[4];
vm_args.version = 0x000c0000;
vm_args.options = options;
vm_args.nOptions = 4;
vm_args.ignoreUnrecognized = FALSE;
options[0].optionString = (char*)"-Djava.compiler=NONE";
options[1].optionString = (char*)"-Djava.class.path=C:/Program Files/Java/jdk-12.0.2/lib";
options[2].optionString = (char*)"-Djava.library.path=c:";
options[3].optionString = (char*)"-verbose:jni";
jNI_CreateJavaVM JNI_CreateJavaVM = (jNI_CreateJavaVM)loadDll(L"C:/Program Files/Java/jdk-12.0.2/bin/server/jvm.dll", "JNI_CreateJavaVM");
jint i = JNI_CreateJavaVM(vm, env, (void*)&vm_args);
return i;
delete options;
}
int main(int argc, char **argv)
{
JavaVM **vm;
JNIEnv *env;
jint j = java(vm, (void**)env);
jclass cls = env->FindClass("java.base/java/io/PrintWriter");
jmethodID method=env->GetMethodID(cls, "println",("Ljava/lang/String;)V");
cout << "" << endl;
return 0;
}
У вас ошибка в вызове функции jint j = java(vm, (void**)env);
В этом месте вы кастуете обычный указатель к указателю на указатель, а надо добавить операцию взятия адреса. Также неправильно объявлен указатель на JavaVM - он должен быть объявлен как обычный указатель, и при передаче параметра тоже не забываем взятие адреса.
JavaVM *vm;
JNIEnv *env;
jint j = java(&vm, (void**)&env);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужно расположить надписи и поля вот так:
Помогите разобраться почему такой код выдает true
Нужно, чтобы астероид пролетал за границы экрана и потом снова вылетал с другой стороныИ так по-кругу
Изучая react наткнулся на интересную с моей точки зрения конструкцию в react-bootstrap: