А.В. Леденёв, И.А. Семёнов, В.А. Сторожевых Динамически загружаемые библиотеки: структура, архитектура и применение (часть 2)1 С формальной точки зрения Dynamic Link Library (DLL)(динамически загружаемая библиотека) — особым образом оформленный относительно независимый блок ис полняемого кода. DLL используются множеством приложений. <...> Эта опцияуказывает линковщику, что не нужно создавать точку входа (entry point) в библиотеке (обычно это функция DllMain). <...> Инструментальные средстваТехнология разработки программного обеспечения Кроме того, динамически загружаемая библиотека, содержащаялишь ресурсы, можетбыть загружена толькоявно (explicitly). <...> Предупреждающее сообщение среды Visual C++ Инструментальные средстваТехнология разработки программного обеспечения 39 А. В. Леденёв, И. А. Семёнов, В. А. Сторожевых чтобы указать среде, откуда брать описа нияресурсов при сборке. <...> Дело в том, что линковщик пытаетсянай ти в файлах проекта точку входа в DLL — функцию DllMain, но ему это не удается, по тому как у нас нет ни одного файла с кодом. <...> Длятого чтобы указать линковщику, что не нужно искать точку входа в DLL — функцию DllMain, — выбираем «Project> Properties.», на вкладке «Linker>Advanced» в пункте «Resource Only DLL» выбираем «Yes (/noentry)». <...> Дляэтого выберем «Resource>New> Bitmap», выберем параметры картинки Инструментальные средстваТехнология разработки программного обеспечения пользование встроенной утилиты Image Editor, второй — редактирование и компи ляция RCфайлов вручную. <...> HRSRC FindResource( HMODULE hModule, LPCTSTR lpName, LPCTSTR lpType ); HRSRC FindResourceEx( HMODULE hModule, LPCTSTR lpName, LPCTSTR lpType, WORD wLanguage ); где hModule—идентификатор модуля(напри мер, полученный функцией LoadLibrary); lpName — как уже упоминалось выше, доступ к ресурсам, в отличие от функций DLL, осуществляется исключительно по целочисленным идентификаторам. <...> Последний способ предпочтительнее, так как он ус коряет доступ к ресурсам; Инструментальные средстваТехнология разработки программного обеспечения 41 А. В. Леденёв, И. А. Семёнов, В. А. Сторожевых <...>