|
Труд вопреки насмешкам
|
|
Как вшить в exe неуправляемую библиотеку?07.11.2019, 10:51. Показов 3533. Ответов 28
Метки нет (Все метки)
Моя программа использует управляемую библиотеку, а та, в свою очередь - неуправляемую библиотеку, импортируя функции через DllImport. Кто знает, как вшить их обе, чтобы распространять единый exe-файл?
0
|
|
| 07.11.2019, 10:51 | |
|
Ответы с готовыми решениями:
28
Как вшить dll в exe? Как вшить неуправляемую библиотеку в exe Вшить библиотеку в EXE |
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
||
| 07.11.2019, 11:44 | ||
|
Usaga, Я не спорю, и не утверждаю что библиотеки рядом этом плохо, не нужно меня убеждать в обратном. Человек попросил как ему надо я предложил ему использовать как вариант ресурсы. Для ярлыка на рабочем столе можно так же заставить приложение создавать его при запуске если запуск был не с ярлыка. Вариантов масса и только рядом лежащие библиотеки и инсталлятор это не одно и только одно правильное решение, это только один из возможных вариантов. Пользователю пофиг как работает приложение, какие использует библиотеки. Пользователю лишь бы работало.
Добавлено через 53 секунды
0
|
||
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
|
| 07.11.2019, 11:49 | |
|
Andreyip, а я утверждаю, что такой подход - необоснованные проблемы для разработчика с нулевой конечной ценностью. Никакие библиотеки упаковывать в ресурсы не надо. Либо нормальный инсталлятор, либо просто папка с файлами (можно заархивировать для передачи). Всё, что между - занятия ерундой.
0
|
|
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
||
| 08.11.2019, 04:17 | ||
|
На конференции NDC Райан Новак упомянул Single File publishing и рассказал, что при загрузке такого EXE упакованные в него DLL'ки не копируются куда-то там, а хитрым образом, с помощью Memory Mapped File, проецируются сразу в оперативку. Вроде как это быстрее даже, чем поднимать сборки валяющиеся рядом с EXE. Сам доклад: Добавлено через 3 минуты Чего-то форум не даёт нормально ссылку вставить на ютуб. https://www.youtube.com/watch?v=7dJBmV_psW0
3
|
||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||
| 08.11.2019, 06:43 | ||
|
Хотя в .NET 5 вообще нативную компиляцию обещали, зачем там нужен будет такой single file не понятно...
2
|
||
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
|
| 08.11.2019, 07:37 | |
|
Ага. Но всё равно это весьма весомый аргумент в пользу упаковки в один EXE. А не эфемерное удобство пользователю от созерцания одинокого файла в папочке)
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 08.11.2019, 10:33 | |
|
Интересно, вот эти любители вшить все в один файл - это не те же самые граждане, которые на игровых форумах возмущаются когда очередная игрушка выпускает патч на пару гигов, т.к. все ресурсы в один архив упакованы?
0
|
|
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
|
| 08.11.2019, 11:09 | |
|
Возможно, что эти граждане отпочковались от тех, что любят файлы в СУБД пихать, а потом удивляются почему бэкапы сутками снимаются\накатываются и не влазят ни на что)
0
|
|
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 08.11.2019, 11:12 | |
|
kolorotur, для этого всякие хранилища существуют с динамическими ресурсами))). которые многие игровые движки поддерживают)))
Добавлено через 3 минуты 100% это они, а еще они Interop обертки пишут с нативными библиотеками в комплекте с извлечением нативной библиотеки нужной битности под систему, глупые люди что с них взять)).
0
|
|
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
|
| 08.11.2019, 11:17 | |
|
Andreyip, что-то я не видел, что такое делали. Поставьте SQLite из nuget. Там Interop + две DLL'ки под каждую архитектуру. Видимо ребята не знали, что это некрасиво для пользователя и нормальные пацаны должны библиотеки обязательно извлекать из EXE)
0
|
|
| 08.11.2019, 11:17 | |
|
Как вшить библиотеку MSVCP100.dll в программу?
Как вшить openMP в .exe ? Как вшить файлы в exe-файл
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
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 реально казались вершиной жары, когда можно было весь день пропадать на. . .
|