-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
1

Переопределение формального параметра XXX

04.06.2014, 11:58. Показов 1395. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код
C++
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <jni.h>
#include <windows.h>
 
typedef jint(JNICALL *JNI_CREATEJAVAVM)(JavaVM **, JNIEnv **, void *);
JNI_CREATEJAVAVM jni_JNI_CreateJavaVM = NULL;
 
static JavaVM* jvm = NULL;
static JNIEnv* env = NULL;
 
extern "C" __declspec(dllexport)
void __cdecl  CreateMinecraftGame(LPTSTR jvmPath, LPSTR optionString0, LPSTR optionString1, LPSTR optionString2)
{
    char* Path = "C:\\Program Files\\Java\\jre7\\bin\\server\\jvm.dll";
    char* option0 = "-Xmx2G -Dfml.ignorePatchDiscrepancies=true -Dfml.ignoreInvalidMinecraftCertificates=true";
    char* option1 =
        "-Djava.class.path=C:\\Users\\Виталий\\minecraft\\libraries\\net\\minecraft\\launchwrapper\\1.9\\launchwrapper-1.9.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\net\\minecraftforge\\forge\\1.7.2-10.12.0.971\\forge-1.7.2-10.12.0.971.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\ow2\\asm\\asm-all\\4.1\\asm-all-4.1.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\scala-lang\\scala-library\\2.10.2\\scala-library-2.10.2.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\scala-lang\\scala-compiler\\2.10.2\\scala-compiler-2.10.2.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\java3d\\vecmath\\1.3.1\\vecmath-1.3.1.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\net\\sf\\trove4j\\trove4j\\3.0.3\\trove4j-3.0.3.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\ibm\\icu\\icu4j-core-mojang\\51.2\\icu4j-core-mojang-51.2.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\net\\sf\\jopt-simple\\jopt-simple\\4.5\\jopt-simple-4.5.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\lzma\\0.0.1\\lzma-0.0.1.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\paulscode\\codecjorbis\\20101023\\codecjorbis-20101023.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\paulscode\\codecwav\\20101023\\codecwav-20101023.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\paulscode\\libraryjavasound\\20101123\\libraryjavasound-20101123.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\paulscode\\librarylwjglopenal\\20100824\\librarylwjglopenal-20100824.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\paulscode\\soundsystem\\20120107\\soundsystem-20120107.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\io\\netty\\netty-all\\4.0.10.Final\\netty-all-4.0.10.Final.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\google\\guava\\guava\\15.0\\guava-15.0.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\apache\\commons\\commons-lang3\\3.1\\commons-lang3-3.1.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\commons-io\\commons-io\\2.4\\commons-io-2.4.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\net\\java\\jinput\\jinput\\2.0.5\\jinput-2.0.5.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\net\\java\\jutils\\jutils\\1.0.0\\jutils-1.0.0.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\google\\code\\gson\\gson\\2.2.4\\gson-2.2.4.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\com\\mojang\\authlib\\1.3\\authlib-1.3.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\apache\\logging\\log4j\\log4j-api\\2.0-beta9\\log4j-api-2.0-beta9.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\apache\\logging\\log4j\\log4j-core\\2.0-beta9\\log4j-core-2.0-beta9.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\lwjgl\\lwjgl\\lwjgl\\2.9.0\\lwjgl-2.9.0.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\org\\lwjgl\\lwjgl\\lwjgl_util\\2.9.0\\lwjgl_util-2.9.0.jar;"
        "C:\\Users\\Виталий\\minecraft\\libraries\\1.7.2-Forge10.12.0.976\\1.7.2-Forge10.12.0.976.jar";
    char* option2 = "-Djava.library.path=C:\\Users\\Виталий\\minecraft\\versions\\1.7.5\\1.7.5-natives";
 
    HMODULE hJvm = ::LoadLibrary(Path); // Загружаем jvm.dll
    jni_JNI_CreateJavaVM = (JNI_CREATEJAVAVM)GetProcAddress(hJvm, "JNI_CreateJavaVM"); //Получаем адреес функции в dll
 
    JavaVMOption options[3];
    options[0].optionString = option0;
    options[1].optionString = option1;
    options[2].optionString = option2;
 
    //Формируем опции запуска виртуальной машины
    JavaVMInitArgs args;
    args.options = options;
    args.nOptions = 3; // Количество опций
    args.ignoreUnrecognized = FALSE;
    args.version = JNI_VERSION_1_6;
 
 
    //Вызываем функцию JNI_CreateJavaVM из dll адресс которой получили ранее
    jni_JNI_CreateJavaVM(&jvm, &env, &args);
 
 
    //Forge 1.7.2 вызываем main функцию класса net.minecraft.launchwrapper.Launch
    jclass class_Launch = env->FindClass("net/minecraft/client/main");
 
    jmethodID mid = env->GetStaticMethodID(class_Launch, "main", "([Ljava/lang/String;)V");
    jobjectArray str_array = env->NewObjectArray(12, env->FindClass("java/lang/String"), env->NewStringUTF(""));
    env->SetObjectArrayElement(str_array, 0, env->NewStringUTF("--username"));
    env->SetObjectArrayElement(str_array, 1, env->NewStringUTF("Test"));
    env->SetObjectArrayElement(str_array, 2, env->NewStringUTF("--version"));
    env->SetObjectArrayElement(str_array, 3, env->NewStringUTF("1.7.2"));
    env->SetObjectArrayElement(str_array, 4, env->NewStringUTF("--gameDir"));
    env->SetObjectArrayElement(str_array, 5, env->NewStringUTF("C:\\Users\\Виталий\\minecraft"));
    env->SetObjectArrayElement(str_array, 6, env->NewStringUTF("--assetsDir"));
    env->SetObjectArrayElement(str_array, 7, env->NewStringUTF("C:\\Users\\Виталий\\minecraft\\assets\\virtual\\legacy"));
    env->SetObjectArrayElement(str_array, 8, env->NewStringUTF("--accessToken"));
    env->SetObjectArrayElement(str_array, 9, env->NewStringUTF("0"));
 
    env->CallStaticVoidMethod(class_Launch, env->GetStaticMethodID(class_Launch, "main", "([Ljava/lang/String;)V"), str_array);
}
Ошибки

Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup C:\Users\Виталий\documents\visual studio 2010\Projects\DLLmine\DLLmine\MSVCRTD.lib(crtexe.obj)
Ошибка 3 error LNK1120: 1 неразрешенных внешних элементов C:\Users\Виталий\documents\visual studio 2010\Projects\DLLmine\Debug\DLLmine.exe

P.S.Я случайно не ту тему указал
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2014, 11:58
Ответы с готовыми решениями:

Как указать ссылку на указатель в качестве формального параметра
Здравствуйте! Есть функция включения элементов в стек. Как правильно написать прототип функции....

Переопределение формального параметра
Мне нужно разбить программу на три файла. Когда вызываю эту функцию bool prov_file(ifstream file)...

Error C2082: переопределение формального параметра
Добрый вечер, при создании пользовательской функции через void, появляется следующая ошибка: &quot;error...

Ошибка: "переопределение формального параметра"
По условии задачи структуру и int.main() редактировать нельзя. Вылетает ошибка:...

2
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
04.06.2014, 15:34 2
нет функции main()
0
-1 / 0 / 3
Регистрация: 14.10.2013
Сообщений: 156
04.06.2014, 16:09  [ТС] 3
Эм.. Спасибо.. Что то я конкретно затормозил...
Вопрос: как вызвать функцию из DLL с определенными параметрами на подобии такого:
C++
1
2
3
4
5
6
7
8
9
10
//в DLL (не стану мудрить)
function CreateProcces(){
UserName = "Player"; //по стандарту
//код
}
 
//в файле запуска (main())
int main(){
CreateProcces(UserName = UserName_In); //вызов с присвоением другого usernam'a
}
0
04.06.2014, 16:09
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2014, 16:09
Помогаю со студенческими работами здесь

Ошибка "переопределение формального параметра с"
выдает ошибку &quot;переопределение формального параметра с&quot; подскажите как исправить double**...

Передача массива, как формального параметра в функцию
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; const int MAX_SIZE = 100; void...

Переопределение параметра по умолчанию. Параметр один. ошибка
Возникает ошибка: Не знаю, как быть. #include &quot;stdafx.h&quot; #include&lt;iostream&gt; using...

Обработка телефонного номера в форме (XXX)XXX-XX-XX
Напишите программу, которая вводит телефонный номер в форме (XXX)XXX-XX-XX. Программа должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru