-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|
1 | |
Как сделать DLL прослойку15.08.2018, 20:29. Показов 1853. Ответов 6
Имеется экзешник, который работает с libcef.dll старой версии.
Мне нужно чтобы он работал с dll новой версии. Если я подсовываю ему libcef.dll новой версии то он ругается на отсутствие точки входа "cef_browser_create". cef_browser_create - это функция , неким аналогом которой (по моему возможно ошибочному мнению) является функция cef_browser_host_create_browser_sync из новой dll. Можно ли сделать прослойку (libcef.dll) которая бы просто транслировала все функции в настоящую libcef.dll, а функцию cef_browser_create транслировала бы в cef_browser_host_create_browser_sync ? Надеюсь хоть более менее понятно объяснил
0
|
15.08.2018, 20:29 | |
Ответы с готовыми решениями:
6
Как сделать dll из PJSIP Как сделать сложный проект(.ехе+.dll)? Как там они сводятся? Как сделать дамп dll, написанной на C++? Как сделать прослойку жира под кожей(отъестся на зиму), чтоб зимой не мерзнуть? |
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
15.08.2018, 22:03 | 2 |
Полагаю, что это путь к созданию прокси-dll. За неимением опыта в этой предметной области, ничего конкретного советовать не буду. Ознакомьтесь со статьей Создание прокси-dll для запуска DirectDraw игр в окне (Habr), возможно это то, что нужно или натолкнет на верные мысли.
Добавлено через 23 минуты Кстати, обратите внимание на то, что в старо cef_browser_create
1
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|
15.08.2018, 22:37 [ТС] | 3 |
Спасибо, а что не так в cef_browser_create
Я там, правда, указал по ссылкам не тела функций, а участки кода с её вызовами , по ошибке
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
15.08.2018, 22:45 | 4 |
Хотел сказать, что в старой версии cef_browser_create используется в методе CreateBrowser, а в новой версии в этом же методе используется cef_browser_host_create_browser, без "_sync". Извиняюсь, отправил случайно неполное сообщение.
Тут еще подумал, возможно, создание прокси-dll ради одной функции (отличающейся только именем, даже не интерфейсом) немного не оправданно. Было бы здорово добавить в таблицу экспорта новой dll функцию со старым именем. К сожалению, пока не удалось найти, как это сделать. Рассмотрите еще этот вариант, может быть Вам больше повезет в поиске информации.
0
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
||||||
16.08.2018, 18:47 [ТС] | 5 | |||||
Никак не могу понять, почему здесь
https://www.codeproject.com/Ar... omatically
0
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||||||||||||||||
16.08.2018, 21:24 | 6 | |||||||||||||||
Это же Assembler, он подчиняется немного другим правилам. Если в C/C++ мы пишем:
Добавлено через 8 минут Вот небольшая программка, демонстрирующая эту разницу.
1
|
-3 / 16 / 2
Регистрация: 21.11.2013
Сообщений: 151
|
|
16.08.2018, 22:12 [ТС] | 7 |
Спасибо, поначалу это ввело меня просто в замешательство
Потом, я как-то уже начал догадываться, что, наверное, ассемблер по другому взаимодействует с массивами. Оказалось что да, вы подтвердили мои догадки )
0
|
16.08.2018, 22:12 | |
16.08.2018, 22:12 | |
Помогаю со студенческими работами здесь
7
Bass.dll, bass_fx.dll - как сделать, чтобы менялась только высота звука без скорости? Как сделать DLL Пытаюсь сделать динамическую загрузку dll. Dll-библиотека не подает признаков жизни Как программно сделать из jar dll? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |