1 / 1 / 1
Регистрация: 31.05.2019
Сообщений: 24

Как засунуть .exe, полученный после pyinstaller, в С++ проект

15.10.2019, 17:27. Показов 1592. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь защитить свой код на python и к тому же использовать наработки по привязке по железу, написанные на C++ и PHP, на этом проекте.

Помогите!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2019, 17:27
Ответы с готовыми решениями:

Как засунуть в переменную полученный шорткод в Wordpress?
есть код: //шорткоды function vivod_sort(){ ob_start(); include_once ('includes/m/shortkod.php'); ...

Как скомпилировать python в файл .exe на Linux с pyinstaller?
Доброе время суток всем прогерам. Мне нужна помощь. Ситуация такая. Недавно начал изучать python. Если быть точнее, я сижу на Linux Mint 18...

Не знаю, как засунуть картинки в проект
Есть примерно 40 картинок (800x600 если это надо). Так же есть 1 Timage. Хочу сделать что бы при нажатии на определенную кнопку в Timage...

15
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
15.10.2019, 19:46
Цитата Сообщение от ADvornick Посмотреть сообщение
Как засунуть .exe, полученный после pyinstaller, в С++ проект
В смысле засунуть? Берешь этот .ехе файл и кладешь в папку с .ехе от с++ проекта
0
1 / 1 / 1
Регистрация: 31.05.2019
Сообщений: 24
15.10.2019, 19:56  [ТС]
Смешно, конечно, но мне нужно объединить их в единое целое.
Можно и интегрировать код python прямо в CPP, но я хочу рассмотреть именно этот вариант.
0
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
15.10.2019, 19:59
Цитата Сообщение от ADvornick Посмотреть сообщение
объединить их в единое целое.
Именно это или ты имеешь ввиду запустить с помощью приложения на с++ приложение на пайтоне?
0
1 / 1 / 1
Регистрация: 31.05.2019
Сообщений: 24
15.10.2019, 20:07  [ТС]
Именно это
0
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
15.10.2019, 20:08
ADvornick, Хотя это
Цитата Сообщение от Vlast001 Посмотреть сообщение
объединить их в единое целое.
в принципе тоже само что
Цитата Сообщение от Vlast001 Посмотреть сообщение
апустить с помощью приложения на с++ приложение на пайтоне
И так, пункты:
1.
Цитата Сообщение от Vlast001 Посмотреть сообщение
Берешь этот .ехе файл и кладешь в папку с .ехе от с++ проекта
2.
Кликните здесь для просмотра всего текста
заходишь на сайт и выбираешь вариант который тебе по душе
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.10.2019, 20:10
ADvornick, не буду говорить, что это невозможно, но это очень сложно.
Гораздо проще вам сделать из вашего кода не exe, а библиотеку dll, которую уже подключить к exe на с++. Правда, насколько я знаю, pyinstaller не имеет прямой возможности делать библиотеки - нужно искать обходной путь. Но в любом случае - это гораздо, во много раз проще, чем то, что хотите вы.
0
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
15.10.2019, 20:21
DrOffset, Если пайтон код работает с командной строкой то его запустить через с++, очень легко
C++
1
2
3
4
5
int rc;
rc = _spawnl(_P_WAIT, "pyapp.exe", "pyapp.exe", "-b", blank, "-r", buf, "-f", file,"-o", "1.txt",NULL); // рандомно потыкал, чтобы
        if(rc==0){ //показать как работает функция
            std::cout << "It's work";
        }
Даже это не нужно
C++
1
2
3
4
Py_Initialize();
pName = PyString_FromString(argv[1]);
/* Error checking of pName left out */
pModule = PyImport_Import(pName);
Но к сожелению, функция _spawnl годиться только если код на с++ есть ничто иное как интерпретатор кода
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.10.2019, 20:23
Vlast001, Насколько я понял, он хочет полностью спрятать код на питоне, оставив только машинный код, который и интегрировать в приложение на С++. Если все так, то стандартные механизмы встраивания Python ему не подойдут.

Добавлено через 35 секунд
Цитата Сообщение от Vlast001 Посмотреть сообщение
Если пайтон код работает с командной строкой то его запустить через с++, очень легко
Вроде бы он дал понять, что это не совсем то, чего он хочет.
0
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
15.10.2019, 20:35
Цитата Сообщение от DrOffset Посмотреть сообщение
оставив только машинный код, который и интегрировать в приложение на С++
Ну как сделать такое я без понятия
P.S. Просто теория/догадка в слух, не суди строго))
Как мне кажется это значит что нужно вызвать функции пайтона в приложении на с++ вместо всего приложения на пайтоне, ну такое по идее должно идти к машинному коду приложения на пайтоне и вытягивать оттуда нужную функцию

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
Вроде бы он дал понять, что это не совсем то, чего он хочет
Ну это и есть слияние, даже в документации пайтона
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.10.2019, 20:53
Цитата Сообщение от Vlast001 Посмотреть сообщение
Ну это и есть слияние, даже в документации пайтона
В общем, пусть ТС прояснит ситуацию. Мне показалось, что хочет сделать exe, полученный от pyinstaller физически частью исполняемого файла, полученного после компиляции с++ проекта. Если понимать его фразу
Цитата Сообщение от ADvornick Посмотреть сообщение
мне нужно объединить их в единое целое
именно так, то, как я говорил выше, это очень сложно и сложность эта для ТС не оправдана пока что никак.
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
15.10.2019, 21:02
Цитата Сообщение от DrOffset Посмотреть сообщение
но это очень сложно
ну как сказать..
да сложно, но если ТС хорошо разбирается в PE (в чём я сомневаюсь), то всё это делается в редакторе на раз.

имеем EXE от питона, собираем EXE на плюсах, берём к примеру CFF Explorer (или любой другой, у которого есть функции create\write, а не просто банальный просмотр внутренностей) и начинаем играться с секциями, VA/RVA и т.д.
2
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
15.10.2019, 21:07
Цитата Сообщение от _lunar_ Посмотреть сообщение
если ТС хорошо разбирается в PE
Это вот ключевое в моей оценке.
0
1 / 1 / 1
Регистрация: 31.05.2019
Сообщений: 24
15.10.2019, 22:51  [ТС]
Если честно, мне очень понравился вариант преобразования программы Питона в библиотеку.

Есть примеры?
0
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
15.10.2019, 23:23
В командной строке для Вижуал Студии компиляция исполняемого файла выглядит так:
cl a.cpp жмем энтер. Пишем cl -? и узнаем, что
//..............
-КОМПОНОВКА-

/LD создать библиотеку .DLL
/LDd создать отладочную библиотеку (.DLL)
//.....

В пайтоне обязательно есть аналог всего этого, сделайте там аналогичное и скомпилируйте код на выход вместо исполняемого файла в библиотеку
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
16.10.2019, 00:24
ADvornick, https://stackoverflow.com/ques... e-to-a-dll

Может быть проще будет сделать наоборот? Вынести все необходимое из С++ в библиотеку и подключить ее к вашей программе на python?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2019, 00:24
Помогаю со студенческими работами здесь

Как засунуть звук в exe
Полагаю это как-то возможно тока вставка звука будет производится набором символов в ЕХЕ- шник? Я таким способом сращивал 2 мелодии в...

Как засунуть исходный код библиотеки DotNetZip в проект?
Слышал, что можно засунуть исходный код библиотеки в проект дабы не таскать вместе с exe файлом dll. Как это сделать с DotNetZip? Исходники...

Как в exe файл засунуть mp3 файлы?
У меня mediaplayer. Там несколько таких строк: MediaPlayer1.FileName := 'd:\02.mp3'; Как при создании exe файла программы сделать...

Как в exe файл засунуть mp3 файлы?
У меня mediaplayer. Там несколько таких строк: MediaPlayer1.FileName := 'd:\02.mp3'; Как при создании exe файла программы сделать...

Как засунуть exe в мою программу и запустить его
Как запустить exe в программе из ресурсов, не вынимая ее от туда?


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

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

Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru