|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
bin2cpp конвертер бинарных файлов в C++ файлы14.08.2025, 23:38. Показов 5285. Ответов 82
Метки единый exe (Все метки)
Написал конвертер бинарных файлов в C++ файлы. Это нужно для кроссплатформенного внедрения ресурсов в исполняемый файл. Из любого файла можно создать, например, заголовочный файл, внутри которого будет массив с данными. Соответственно, потом можно работать с этими данными непосредственно в памяти.
Публикую прогу для тех, кого может заинтересовать. Полагаю, что похожих программ в инете много, но возможно кому-то понравится именно моя. Тем более, те программы, которые я встречал, работали медленнее, чем моя, и не имели графического интерфейса. Например, как видно на скриншоте на гитхабе, шрифт OpenSans конвертировался за 14 миллисекунд. Одним словом, хотите пользуйтесь, не хотите - не пользуйтесь. Скачать можно здесь: https://github.com/RoyalXXX/bin2cpp. Там я выложил, в том числе, уже скомпилированные бинарники. Доступны две версии: 1. оконная версия bin2cpp GUI - работает быстрее консольной, есть проверка на валидность имен. 2. консольная версия bin2cpp console (её код открыт и любой может использовать по лицензии MIT - одна из самых свободных лицензий). Эта версия чуть попроще, поскольку имена не проверяются на корректность. И она чуть медленнее, чем версия с оконным интерфейсом - там я немного иначе реализовал. Если будете сами компилировать, то советую использовать mingw-w64-ucrt-x86_64-gcc. Программа, скомпилированная этим компилятором, работает быстрее, по крайней мере, у меня. В обеих версиях есть показ времени конвертирования и вывода прогресса конвертирования.
0
|
|
| 14.08.2025, 23:38 | |
|
Ответы с готовыми решениями:
82
Конвертер Исходных кодов Создание бинарных файлов. Чтение и запись бинарных файлов
|
| 15.08.2025, 14:32 | |
|
Не по теме: Насчёт вариантов установки, есть инстал в appdata для конкретного юзера. Там на уровне прав доступа нельзя сделать иначе.
0
|
|
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
||
| 15.08.2025, 14:36 | ||
|
Royal_X, ты можешь обрисовать проблемы, которые для меня создают записи в реестре?
"Мусор" - значит что-то вредное. Вред как-то проявляется. Как я его могу увидеть? Правда, Win98 реально хламом была. WinXP приходилось донастраивать отключая службы. Но десятку и Win11 я ни разу не переустанавливал ни на домашних машинах, ни на рабочих. Не было нужды. Как мне увидеть вред "мусора"? Добавлено через 1 минуту Добавлено через 2 минуты Кстати, интересный момент обозначился в нашей беседе. Получается, что в винде, если установщик пытается сохранить некую служебную информацию для отката операции установки, то это "мусор", но тоже самое действие в Linux от пакетного менеджера - норм и так и надо?.. Мне кажется, или тут пахнет двойными стандартами?..
0
|
||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 15.08.2025, 14:37 [ТС] | ||
|
другой пример - это изнасилование файловых ассоциаций через реестр, создание ассоциаций на форматы файлов, которые ни одна прога не открывает, или создание в списке "Открыть с помощью" записей программ, но при нажатии на которые выводится, что такой проги нет. Исправляется все это только через реестр (через параметры не получится - там только можно переопределить ассоциации ).
0
|
||
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 15.08.2025, 14:39 | |
|
Royal_X, но я ничего такого не вижу, ни дома ни на работе...
Что мне нужно сделать, чтобы это воспроизвелось?
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 15.08.2025, 14:40 [ТС] | |
|
0
|
|
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
|
| 15.08.2025, 14:44 | |
|
Royal_X, поставил это https://calibre-ebook.com/download_windows. Интерфейсу приложения такой себе, будто ребёнок проектировал. Но работает. Система не тормозит. Что нужно сделать, чтобы начала?
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||
| 15.08.2025, 14:48 [ТС] | |||
|
Конкретно для сабжа не вижу смысла в установщике и внесения в список программ винды. Ведь это утилита для разработки. Представьте, что было бы, если например все отдельные утилиты из VS 2022 появились в списке программ... Добавлено через 1 минуту
0
|
|||
|
14724 / 9494 / 1362
Регистрация: 21.01.2016
Сообщений: 35,790
|
||
| 15.08.2025, 15:02 | ||
|
0
|
||
|
Software Engineer
338 / 342 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
|
|||||
| 15.08.2025, 19:15 | |||||
|
Линуксовский ABI - это боль и страдания: https://habr.com/ru/articles/893720/ Попробуйте распространять какое-то нативное приложение среди линукс юзеров. Поймать условный Error /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found запуская приложение на "соседних" версиях линукс дистрибутива - обычное дело. При этом на последней винде спокойно запускаются большинство приложений собранных более 20 лет назад еще под Windows XP. А множество собранных сейчас приложений будут без проблем работать на Windows 7, которая вышла 16 лет назад (даже если сам разработчик приложения против этого: http://cracklab.team/index.php?threads/1037/ ) Как бы кому не нравился дизайн потрохов Windows, но ABI совместимость - мое почтение. Добавлено через 7 минут ![]() Формально Вы ничего не нарушили, приложение распространяется с dll. А вот как они подгружаются в приложение, если мне не изменяет память, лицензия Qt не регулирует. Добавлено через 19 минут
0
|
|||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 15.08.2025, 21:18 [ТС] | |
|
Custos, мою программу на Qt однажды даже удалили из Sourceforge, потому что я не выложил исходники. Конечно, там у них есть требование, что в разделе Open Source Software можно публиковать только в случае предоставления исходников. Но обычно никто не проверяет это. Многие публикуют программы без сорцов. И я вот тоже так делаю. Одну программу на wxWidgets и еще одну программу на Qt пропустили. Но вот недавно публиковал еще одну на Qt, они удалили. Видимо, у них выборочная проверка. Проблема еще в том, что у этой программы в названии упоминалось Qt, что возможно привлекло к себе внимание администрации сайта. Они боятся Qt. Ведь, по бесплатной лицензии Qt нужно собирать с динамической линковкой (я это условие выполнил), а также нужно обязательно использовать фрейворк для опенсорный разработки по одной из этих лицензий: GPL 3, GPL 2 and GPL 3. Наверное, из-за этого к Qt всегда пристальное внимание со стороны Sourceforge.
Интересно, а что если публиковать программу на Qt и выложить какие-то мусорные исходники. Никто ж не будет вникать в код. Обычно они проверяют в первые дни и если нет сорцов, то на почту приходит письмо, в котором написано, что они дают 3 дня на добавление исходников, иначе они удаляют. После проверки можно удалить мусорные сорцы.
0
|
|
|
|
||
| 15.08.2025, 21:53 | ||
|
Можно выкладывать ПО на Qt без исходников, если юзер может использовать его с другой версией фреймворка. Это как поставка динамической сборки, так и поставка в виде объектных файлов, достаточных для сборки рабочего ПО (с другой версией фреймворка). Бесплатно в статической сборке может поставляться ПО с открытыми исходниками. Платно - и с закрытыми.
0
|
||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||||||
| 15.08.2025, 22:15 [ТС] | |||||||
|
но бесплатный Qt имеет разные лицензии, и нужно проверять по каждому модулю отдельно
А вот по GPL
А теперь читай это
т.е. тут нужно еще разбираться, какие модули LGPL, а какие GPL. И вот трюк с объектными файлами сработает только для для LGPL. Например, если ты используешь Qt Charts, то забудь об LGPL
0
|
|||||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 15.08.2025, 22:43 [ТС] | ||
|
Но вот Qt Charts, Qt Graphs, Qt HTTP Server, Qt Network Authorization, Qt Virtual Keyboard и некоторые другие только GPL И вот трюк с объектными файлами прокатит только для LGPL. Хотя, не представляю, какой чикатила будет так делать. Короче, ребятки, то что выделено красным, никогда не используйте. А то придет некто, и попросит показать ему полный код проги.
0
|
||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 15.08.2025, 22:51 [ТС] | |
|
Хорошо, что мой конвертер написан на wxWidgets
0
|
|
|
Just Do It!
|
|
| 18.11.2025, 13:00 | |
|
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||
| 18.11.2025, 13:10 [ТС] | |||
|
Тот код, что выложен на гитхабе, это просто пустышка-прототип* для консольной версии. Моя настоящая программа - это та, что с GUI и там абсолютно другой код. Ты сам можешь удостовериться в этом, сравнив скорость конвертирования консольной версии программы и версии с графическим интерфейсом. * Пустышка с открытым кодом нужна для публикации программы на сайтах, где программы проходят модерацию только в случае открытия кода.
0
|
|||
|
Just Do It!
|
||
| 18.11.2025, 13:12 | ||
|
Проблема в том, что тыя страдаем хернёй в то время, когда космические корабли бороздят просторы Вселенной....
0
|
||
| 18.11.2025, 13:12 | |
|
Конвертер бинарных данных Обработка текстовых файлов. Обработка бинарных файлов. Сериализация и десериализация объектов Чтение бинарных файлов Какой путь бинарных файлов Апача в Ubuntu? Обработка текстовых и бинарных файлов. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|