Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2015, 06:22   #1
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию Можно ли создать библиотеку импорта для сторонней DLL?

Например, для gdi32.dll? Есть только среда разработки Code Blocks
Цитата:
Build: Dec 27 2013, 12:58:32 - wx2.8.12 (windows, unicode) - 32 bit
с компилятором, а готовых библиотек импорта для АПИшных библиотек почему то нет.
taras-proger вне форума Ответить с цитированием
Старый 14.09.2015, 06:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что ты называешь "библиотека импорта"? Заголовочные файлы с описаниями функций и параметров? А разве для gdi32 заголовочного файла нет? Разве нет MSDN?

Вообще ответ на твой вопрос в общем - нет. Просто так из любой обычной ДЛЛ функции, библиотеку типов не вытащить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.09.2015, 06:43   #3
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что ты называешь "библиотека импорта"?
Не я называю, а она вообще так называется. нет конечно. Головы - это только головы, там нет адресов функций. Ну раз ты дуб в терминологии, то подскажу, а вообще учи терминологию: библиотекой импорта называется статическая библиотека, необходимая для корректного раннего связывания динамически загружаемой библиотеки. Если в проект подключена библиотека импорта, то не надо явно вызывать LoadLibrary, GetProcAddress и FreeLibrary, а линкер знает, где лежит каждая экспортируемая из dll функция. И не ругается на всякие там
Цитата:
undefined reference to `__imp_TextOutW'|
. Но при этом ни каких таких __imp_TextOutW даже декларировать не надо. Вот только какая от тебя может быть помощь, если сам знаешь меньше?
Цитата:
Сообщение от Stilet Посмотреть сообщение
Просто так из любой обычной ДЛЛ функции, библиотеку типов не вытащить.
Что ты называешь библиотекой типов?

Последний раз редактировалось Stilet; 14.09.2015 в 08:30.
taras-proger вне форума Ответить с цитированием
Старый 14.09.2015, 06:51   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

taras-proger, для МинГВ все системные либы есть, берите и пользуйтесь. Либо подтяните общий уровень сначала.

На ваш первоначальный вопрос: вытянуть и создать можно, но это долго, трудоемкая и требующая знаний/опыта задача, причем не с 100% результатом
p51x вне форума Ответить с цитированием
Старый 14.09.2015, 06:58   #5
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

Почему то именно в этом экземпляре их нет.

Цитата:
Сообщение от p51x Посмотреть сообщение
taras-progerНа ваш первоначальный вопрос: вытянуть и создать можно,
Как это делается?

Последний раз редактировалось Stilet; 14.09.2015 в 08:28.
taras-proger вне форума Ответить с цитированием
Старый 14.09.2015, 07:19   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от taras-proger Посмотреть сообщение
Например, для gdi32.dll? Есть только среда разработки Code Blocks

с компилятором, а готовых библиотек импорта для АПИшных библиотек почему то нет.
В принципе можно, но зачем? DLL-ки для того и создавались чтобы облегчить жизнь программистам, а Вы ходите её усложнить добавляя в них недокументированные функции? Ну-ну. К чему катится мир?

Ну, могу я это сделать, но принципиально не буду. Я лучше создам свою и засуну её в system32, чем буду менять что-то в уже написаной.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 14.09.2015 в 07:25.
Smitt&Wesson вне форума Ответить с цитированием
Старый 14.09.2015, 07:37   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

2 Smitt&Wesson, речь о другом - о получении lib по длл без исходников.

Цитата:
Как это делается?
Ну для начала получить все экспортируемые функции с их соглашениями, параметрами, учитывая вызываемые по ординалам и т.д.

Цитата:
Почему то именно в этом экземпляре их нет.
Почему не взять другой где есть?
p51x вне форума Ответить с цитированием
Старый 14.09.2015, 08:30   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У-у-у... Как все запущено ))
Пойду-ка за попкорном, ибо сериал обещает быть блястящим
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.09.2015, 09:17   #9
taras-proger
Подтвердите свой е-майл
 
Регистрация: 12.11.2014
Сообщений: 470
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
В принципе можно, но зачем? DLL-ки для того и создавались чтобы облегчить жизнь программистам, а Вы ходите её усложнить добавляя в них недокументированные функции?
Ну ка где у меня хоть слово про недокументированные функции? Тем более о добавлении чего либо в DLL?
Цитата:
Сообщение от p51x Посмотреть сообщение
учитывая вызываемые по ординалам
А что такое ординалы?
taras-proger вне форума Ответить с цитированием
Старый 14.09.2015, 09:34   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А что такое ординалы?
Ну и кто тут у нас в терминологии деревянный?

P.S. Пожалел тебя, МСДН открыл: https://msdn.microsoft.com/en-us/library/e7tsx612.aspx
Читай и просвещайся )
I'm learning to live...

Последний раз редактировалось Stilet; 14.09.2015 в 09:36.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление устройством: проблемы с типами данных в сторонней DLL AnTe Общие вопросы Delphi 13 19.06.2013 13:55
Экспорт функции C++ в библиотеку DLL lebedevmd Фриланс 2 12.04.2011 14:45
Как на Delphi создать ярлык для сторонней программы? alexusankov Общие вопросы Delphi 7 07.01.2011 20:00
Получение данных из сторонней dll Memfis1992 Общие вопросы Delphi 4 21.10.2010 09:19
Можно программно создать dll из текстового файла? hamann-2006 Помощь студентам 2 29.10.2007 10:41