На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Advantages of Dynamic Linking



Dynamic linking has the following advantages over static linking:

· Processes that load a DLL at the same base address can use a single DLL simultaneously, sharing a single copy of the DLL code in physical memory. Doing this saves memory and reduces swapping.
· When the functions in a DLL change, the applications that use them do not need to be recompiled or relinked as long as the function arguments, calling conventions, and return values do not change. In contrast, statically linked object code requires that the application be relinked when the functions change.

· A DLL can provide after-market support. For example, a display driver DLL can be modified to support a display that was not available when the application was initially shipped.
· Programs written in different programming languages can call the same DLL function as long as the programs follow the same calling convention that the function uses. The calling convention (such as C, Pascal, or standard call) controls the order in which the calling function must push the arguments onto the stack, whether the function or the calling function is responsible for cleaning up the stack, and whether any arguments are passed in registers. For more information, see the documentation included with your compiler.



A potential disadvantage to using DLLs is that the application is not self-contained; it depends on the existence of a separate DLL module. The system terminates processes using load-time dynamic linking if they require a DLL that is not found at process startup and gives an error message to the user. The system does not terminate a process using run-time dynamic linking in this situation, but functions exported by the DLL are not available to the program.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Преимущества Динамической Связи



Динамическая связь имеет следующие преимущества над статической связью:

Процессы, что загружать DLL по тому же базовому адресу может использовать единственный DLL одновременно, использовавшее единственную копию кода DLL в физической памяти. Делая это сохраняет память и уменьшает свопинг.
Когда функции в DLL изменяются, приложения, которые используют их не должно быть перекомпилировано или перекомпоноваться так же долго (длиной) как функциональные аргументы, вызывающие соглашения, и обратные величины не изменяются. На контрасте, статически связавшем объектный код требует, чтобы приложение было перекомпоновано когда функции изменяются.

DLL Может обеспечиться после-поддержки рынка. Например, показ водителя DLL может быть модифицирован, чтобы поддерживать отображаться, что было не доступно когда приложение первоначально было отправлено.
Программы записанные в других языках программирования могут назвать тот же DLL функционирует так же долго (длиной) как программы следовать за тем же вызовом соглашения, который функция использует. Вызывающее соглашение (как например, C, Pascal, или стандартный вызов), регулирует заказ в котором вызов функции должен вытолкнуть аргументы в кипу, независимо функция или вызывающая функция ответственная за наводящую порядок кипу, и независимо любые аргументы пройдены в регистры. Более подробно, смотри документацию включенную вашим компилятором.



Потенциальный недостаток в использование DLLs - в том, что приложение не замкнутое; это зависит от существования отдельного модуля DLL. Система завершает процессы, использовавшие загрузку-время динамической связи если они требуют DLL, что не обнаружен на запуске процесса и дан сообщение ошибки пользователю. Система не завершает процесс, использовавший время прогона динамическое включаясь эту ситуацию, но функции экспортированные DLL не пригодные для программы.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz