![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Litkevich Yuriy |
![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Есть потребность, впихать каким-либо способом, тело dll'ки в exe'шник, который от неё зависит.
Но разумеется сделать это так, чтобы exe'шник её нормально понимал во время выполнения. В идеале это должно обеспечиваться самим компилятором. Примерно как при статической линковке. Вопрос как это сделать? П.С. интернет по этому поводу в рот воды набрал, или я совсем криво запросы составлял |
|
|
Kagami |
![]()
Сообщение
#2
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
Исходников библиотеки нет?
P.S. Пришла в голову безумная идея - впихнуть библиотеку в ресурсы и подгружать нужные функции из этой библиотеки вручную. |
|
|
alex977 |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 310 Регистрация: 19.6.2008 Из: Россия, МО, г.Мытищи Пользователь №: 206 Спасибо сказали: 77 раз(а) Репутация: ![]() ![]() ![]() |
Юрий, может переформулируешь вопрос?
1) что у тебя уже есть (src или exe+dll)? 2) чего ты хочешь добиться? Монолитный исполняемый файл? Или просто засунуть exe и dll в один бОльший исполняемый файл (типа как в Python сделать из проекта один исполняемый файл с интерпретатором, ddl библиотек и файлами пользователя внутри). |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Приеду такой пример:
mingwm10.dll и my.exe, который зависит от этой dll'ки Нужно получить один my.exe, который уже не будет зависить от этой dll'ки Я могу как угодно пересобирать my.exe (любые ключи и т.д. и т.п), но трогать dll'ку не могу и будем считать, что кроме *.a и заголовочников у меня нет исходников этой dll'ки П.С. таже задача, например для fbclient.dll (Клиентская библиотека Firebird) P.S. Пришла в голову безумная идея - впихнуть библиотеку в ресурсы и подгружать нужные функции из этой библиотеки вручную. была подобная идея, но приложение даже не запустится (в случае с моим первым примером)
|
|
|
Kagami |
![]()
Сообщение
#5
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: ![]() ![]() ![]() |
P.S. Пришла в голову безумная идея - впихнуть библиотеку в ресурсы и подгружать нужные функции из этой библиотеки вручную. была подобная идея, но приложение даже не запустится (в случае с моим первым примером)Тут ключевое слово вручную. Т.е. через LoadLibrary и далее по списку ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
dreamcode |
![]()
Сообщение
#7
|
![]() Студент ![]() Группа: Участник Сообщений: 52 Регистрация: 2.11.2009 Пользователь №: 1201 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Можно так : дописываеш свою библиотеку в конец файла... А при запуску проги извлекаеш библиотеку из файла в каталог с приложением и запускаеш прогу.... )))
или пишеш другую прогу которая будет так делать Сообщение отредактировал dreamcode - 31.5.2010, 22:47 |
|
|
Iron Bug |
![]()
Сообщение
#8
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
люди на форумах пишут, что статически слинковать mingw нельзя (хотя я что-то подозреваю, что можно, но геморно будет). только подгрузкой из ресурса.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#9
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kuzulis |
![]()
Сообщение
#10
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
Глянь тут: http://www.intmain.ru/ilmerge-gui.html
и поищи в гугле по запросам типа: Цитата Merge exe and dll вот еще тут есть обсуждение: http://www.gotdotnet.ru/forums/2/115833/ говорят что можно с помощью текстового редактора объединить ![]() Сообщение отредактировал kuzulis - 1.6.2010, 15:54 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 7.4.2025, 0:06 |