Библиотека для генерации независимых окон, исполняемых на Java или C++
Я не пытаюсь скомпилировать мой исходный код в исполняемый файл. Пожалуйста, прочитайте перед маркировкой как дубликат.
С учетом сказанного, я прошу прощения, если этот вопрос был задан ранее. Бесчисленные вопросы "как мне скомпилировать java | C++ для exe" заполнили все мои поиски.
Я ищу библиотеку, которая облегчает создание исполняемых файлов Windows (.exe). Если быть точным, я хочу иметь возможность генерировать серию инструкций по сборке во время выполнения (они будут очень простыми) и создавать исполняемый файл, который будет их выполнять. Я могу создать сборку самостоятельно; Я просто хотел бы иметь библиотеку, которая поможет разобраться со всеми заголовками и другими частями файла.exe (я начал изучать формат переносимых исполняемых файлов, но он слишком сложен для меня. Я не ленив, но как программист высокого уровня, я чувствую, что все это у меня в голове). Конкретная механика библиотеки не важна, если она работает для Java или C++. Однако Java очень предпочтительна.
Буду признателен за любые знания, относящиеся к любой структуре, которая будет полезна в этом отношении.
2 ответа
Хорошо, так что я закончил поиском вокруг bin
папка моей установки MASM32, где я нашел ассемблер: ml.exe
, Затем я записываю ассемблер в текстовый файл и вызываю ассемблер, используя: Runtime.exec()
:
Runtime.getRuntime().exec(
"C:/masm32/bin/ml.exe " //directory of assembler
+"/coff " //create COFF header (needed for Win32)
+"/Bl C:/masm32/bin/link.exe " //directory of linker
+"/Fe src/" + fileName + ".exe " //executable file
+"/Fo src/" + fileName + ".obj " //object file
+ fileName + ".asm"); //assembly file (source)
n.m. дал мне идею, но так как они не опубликовали ее как ответ через месяц, я решил просто ответить на нее сам.
Почему бы не кататься самостоятельно? Код выброса для наименьшего общего знаменателя (ЦП). Делая это, вы, вероятно, добавите много к вашему набору навыков. В настоящее время я пишу скрипт-движок и собираюсь представить JIT-компилятор для генерации кода для платформ Windows. Для этого я добавляю списки кода в проекты, чтобы увидеть код сборки, сгенерированный компилятором. Не идеально, я знаю, но дает твердое стартовое направление.