![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
Доброго времени суток.
Есть проблема: хочу перевести приложение с windows на linux. Моё приложение написано на Qt, и не использует ничего системного, поэтому с ним проблем не должно быть, но в этом приложении используется dll-ка, исходников которой у меня нет ( мы её купили в одной конторе без исходников, т.к. с ними было в несколько раз дороже ). Я знаю ( вернее предполагаю ), что dll-ка ничего системного windows'овского не вызывает, только new и delete. Вопрос: как сделать так, чтобы моё приложение работало на "нативном" linux'е, а dll-ка - не обязательно, например под WINE'ом. P.S. Очень не хочется переделывать приложение, чтобы общаться по сети с некой обёрткой, работающей под WINE и вызывающей dll-ку. P.P.S. Похожую тему находил ( http://forum.vingrad.ru/topic-108070.html ), но там у людей либо были исходники, либо они не были против того, чтобы вся программа работала под WINE. Спасибо. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
borisbn, найди альтернативу. Что эта DLL делает?
|
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
dll не .NET-овская случайно?
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
bsa, к сожалению не получится, т.к. она очень специфическая и мы её специально заказывали, писали ТЗ. А делает она определение вида и параметров модуляции по записанному сигналу (квадратуры 8 кГц 16 бит)
Sartorius, нет. Обычная dll, написанная на Си++ и откомпилированная M$VS 6.0 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
kosmonaFFFt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 538 Регистрация: 14.4.2008 Где: Иннополис Репутация: 1 Всего: 5 |
Единственное, что пришло в голову - дизассемблирование под виндой, и компиляция асмом под линуксом...
Т.к. я в асме и всем низкоуровневом не очень силен, не могу сказать насколько это реально... И еще одна мысль - узнать/посмотреть, как в вайне грузятся виндовые библиотеки, и сделать так же/заюзать код из вайна... Это сообщение отредактировал(а) kosmonaFFFt - 27.6.2010, 10:41 -------------------- ![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
kosmonaFFFt, спасибо. Обе идеи хорошие, тем более, что asm меня совсем не смущает. А WINE-код думаю найти смогу. Ещё раз спасибо за идеи.
P.S. По поводу (диз)асемблера. Насколько я знаю в гнусном ассемблере запись опкодов сильно отличается от masm и их подобным. Не подскажете дизасемблер, который генерил бы код, компилируемый гнусом ? Ну раз уж начал спрашивать... ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: нет Всего: 121 |
Сколько dll весит? Используется только одна функция? Может имеет смысл заюзать IDA+HexRays. Правда это нарушение авторских прав.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
Если ты про IDA+HexRays (кстати, а что это такое? IDA знаю, HexRays - нет), то хез, а dll-ка принадлежит нам (мы её заказали и купили). Всё-таки решил делать примерно так: ![]() Вопрос: кто-нибудь видит проблемы, кроме быстродействия ? Это сообщение отредактировал(а) borisbn - 27.6.2010, 19:19 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
kosmonaFFFt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 538 Регистрация: 14.4.2008 Где: Иннополис Репутация: 1 Всего: 5 |
Насчет вайновских исходников, спроси у гугла слово wine, дальше по обстоятельствам... ) Я их неоднократно в течении 5 минут так находил...
А еще я тут вспомнил про виндовые LoadLibrary и GetProcAddress или как оно там, и именно их я бы попробовал выдернуть из вайна или заюзать как нибудь напрямую без выдергивания... -------------------- ![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
kosmonaFFFt, думаю тут LoadLibrary и GetProcAddress не обойдёшься, т.к. dll-ка вызывает RTL-функции visual C new и delete
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Посмотри, что dll импортирует из Windows. Если там ничего системного нет, то действительно можно напрямую (выдрав из Wine загрузчик) ее использовать. А вот если там есть использование каких либо системных вызовов, то труба
![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: нет Всего: 135 |
xvr, спасибо за наводку. Посмотрел, что она импортирует и увидел nsp (intel'евская библиотека обработки сигнала), а у той, в свою очередь, целый "букет" импортируемых функций из kernel32, user32 и т.п.
Решил делать как писал двумя постами выше. Всем спасибо. Закрываю Это сообщение отредактировал(а) borisbn - 28.6.2010, 19:48 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Линуксовый mplayer помнится тащил связку win32-кодеков в виде кучи dll-ок, я запамятовал - он их каким образом умудрялся использовать?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |