DOSUG CZ– розовая кнопка на сайте!
Logo

Работа с динамически связываемыми библиотеками (DLL)
(C++Builder)

   DLL - одна из самых полезных и мощных возможностей, когда-либо добавленных в операционную систему Windows. Используя DLL, вы решаете две главные задачи в разработке приложений: ограничения по памяти и проблемы с версиями.
   Ограничения по памяти в многозадачных операционных системах возникают из-за того, что одновременно загружено в память много программ. Многие из этих программ выполняют одни и те же задачи, однако каждая содержит свой собственный код для выполнения этой работы. Если бы весь этот код был извлечен из приложения и помещен в отдельный модуль, совместно используемый всеми запущенными программами, то было бы гораздо больше свободной памяти для программ. Это основная концепция DLL. Лучшим примером DLL может служить сама операционная система. Все компоненты Windows, которые вы вызываете из вашего приложения (код прорисовки, код файловой системы и т. д.), живут в наборе системных DLL, которые используются совместно всеми программами, работающими в Windows. Возможность совместно использовать этот код означает, что вашей программе не нужно держать этот код в себе.
   Когда ваша программа загружает DLL, динамически или статически, происходит поиск в памяти на предмет того, загружена ли уже эта DLL. Если DLL найдена, то вместо того, чтобы загрузить вторую копию, операционная система возвратит вам указатель (называемый handle) на уже загруженную DLL и увеличит счетчик использования DLL.
   Важно, что вы можете не только загружать информацию, такую как ресурсы, из DLL, но также и использовать функции, которые там хранятся. В данном примере мы создадим библиотеку (DLL), а затем используем другую программу для загрузки функции из этой DLL в наше приложение. Мы можем использовать функции в DLL для отображения сообщения, подсчета результатов и любых других вещей, которые можно делать в обычном приложении. У DLL есть некоторые ограничения, в основном они относятся к управлению памятью, но к нашему примеру они отношения не имеют.

главная - о проекте - контакты - реклама на сайте
 
LBN100 Elite

SoftStudio.Ru - студия разработки программ
LBN100 Elite