Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 31.05.2019
Сообщений: 24

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

15.10.2019, 17:27. Показов 1585. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period. Это. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru