powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Замена DLL на DLL с другим именем.
11 сообщений из 36, страница 2 из 2
Замена DLL на DLL с другим именем.
    #38150401
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да все тут понятно было изначально написано, что вы как дети малые к словам цепляетесь :)
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150402
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvm,
1-й вопрос решен.
"Наша программа" -> а.dll < - > "Приложение A"
"Наша программа" -> b.dll < - > "Приложение B"
Все уже работает. Путем линковки b.dll к нашей программе через b.lib. Без каких либо изменений в теле программы, т.к. используемые нами интерфейсы a.dll и b.dll полностью идентичны. Вопрос закрыт.
-------------------------------------------------------------------------------------
2- вопрос
"Чужая программа для работы с А" -> а.dll < - > "Приложение А" -функционирует
"Чужая программадля работы с А" ->????? b.dll <- > "Приложение В" Как?
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150405
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBAВсе уже работает. Путем линковки b.dll к нашей программе через b.lib. Без каких
либо изменений в теле программы, т.к. используемые нами интерфейсы a.dll и b.dll полностью
идентичны.
Как? Если в программе вызывается xxx(), то оно вызывается из a.dll или из b.dll? Как оно
угадывает?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150410
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, a.lib заменена Компоновщик - Ввод - Доп. зависимости на b.lib. Все. :) Код не менялся.
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150428
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBAvvm,

2- вопрос
"Чужая программа для работы с А" -> а.dll < - > "Приложение А" -функционирует
"Чужая программадля работы с А" ->????? b.dll <- > "Приложение В" Как?

Так же, как и со своей программой, не ?

Как бы компоновщик не занимается линковкой с DLL в рантайме, это делает сам Windows уже, приложение с DLL полностью
собрано, и оно, если без исходников или хотя бы объектников, уже на другую .dll не пересоберётся.
Если только обе DLL имеют абсолютно идентичный бинарный интерфейс (API и ABI), то можно одну dll заменить на другую (например, переименовав). Но для этого надо гарантированно знать, что они совместимы, а для этого они должны быть специально созданы именно так для этого.
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150432
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, DLL идентичны только по используемым нами интерфейсам, в остальном они несовместимы. a.dll не будет работать с приложением B. Но взаимодействие с ними из сторонних программ идентично.
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150441
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBAMasterZiv, DLL идентичны только по используемым нами интерфейсам, в остальном они несовместимы. a.dll не будет работать с приложением B. Но взаимодействие с ними из сторонних программ идентично.

кто на ком стоял ?

Они либо совместимы, либо нет. Видимо, нет. Тогда это невозможно.
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150448
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, но я сейчас уже работаю из своей программы. Дел, как оказалось, только другую ДЛЛ прилинковать. В коде вообще ничего не менял.
Надо чужую прогу обмануть. Различающиеся функции ей не нужны, она их и не увидит.
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150622
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выход видится такой.
Пишем ДЛЛ с именем а.dll. В экспорте пишем функции Fn(...) с именами, аналогичными экспорту b.dll. Fn(...) перенаправляется на импорт и вызывает из b.dll функцию с тем-же именем.
Получаем
Программа работы с А -> самописная a.dll -> b.dll <-> приложение В.
В статик классе СС определяем функции, запросы к b.dll
XZdatatype fn() {return Fn()}
В программе, вне классов определяем функции, запрашиваемые программой работы с прил. А
XZdatatype Fn() {return CC.fn()}
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38150871
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YUBAMasterZiv, но я сейчас уже работаю из своей программы. Дел, как оказалось, только другую ДЛЛ прилинковать. В коде вообще ничего не менял.
Надо чужую прогу обмануть. Различающиеся функции ей не нужны, она их и не увидит.

Я вот так понимаю: обманывать нехорошо.

Если у тебя есть малолетки этой программы, то просто пересобери.
Если нет — это невозможно, если ты не профессионал. А ты не он, иначе бы не задавал такие вопросы (да ты и описать-то толком ничего не можешь).
Я не собираюсь тут рассказывать все нюансы, их дофига. Профессионал с этим разберется, но и тогда нет гарантии, что это можно вообще сделать.

Так что для тебя думаю есть один практически полезный совет — доверь эту работу профессионалу, наймите кого-то что бы это сделал. Или сказал, что это невозможно.

Успехов.
...
Рейтинг: 0 / 0
Замена DLL на DLL с другим именем.
    #38151610
YUBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо.
Программа заработала. Через дополнительную DLL.
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Замена DLL на DLL с другим именем.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]