А.В. Леденёв, И.А. Семёнов, В.А. Сторожевых Динамически загружаемые библиотеки: структура, архитектура и применение (часть 3) DLL — сокращение от Dynamic Link Library (динамически загружаемая библиоте ка). <...> Сказанное сле дует понимать в том смысле, что заявленная среда разработки в общем случае не обя зана совпадать со средой, в которой данная DLL используется. <...> Декорирование имен Данная проблема подробно обсужда лась в разделе «Декорирование имен». <...> Правила занятия и освобождения стека Каждый из языков применяет различные стратегии для занятия и освобождения сте ПроблемыразработкиииспользованияDLL в различных средах ак было сказано ранее, DLL — это программные компоненты, которые оформлены специальным образом ка. <...> Аргументы могут помещаться в стек по очереди слеванаправо или справаналево, стек может освобождаться вызывающим или вызываемым кодом. <...> Таблица 1 Различные варианты вызова функции Варианты: порядок размещения аргументов/ тип освобождения стека Вариант 1: слеванаправо/ вызывающим кодом ; размещение операндов в стеке push arg1 push arg2 . push argN call Func ; очистка стека pop argN . pop arg2 pop arg1 Func: . ret Вариант 2: справаналево/ вызывающим кодом ; размещение операндов ; в стеке push argN . push arg2 push arg1 call Func ; очистка стека pop arg1 pop arg2 . pop argN Func: . ret Инструментальные средстваТехнология разработки программного обеспечения 51 Окончание табл. <...> 1 Варианты: порядок размещения аргументов/ тип освобождения стека Вариант 3: слеванаправо/ вызываемым кодом ; размещение операндов ; в стеке push arg1 push arg2 . push argN call Func . <...> Func: . ; очистка стека pop argN . pop arg2 pop arg1 ; возврат ret Вариант 4: справаналево/ вызываемым кодом ; размещение операндов ; в стеке push argN . push arg2 push arg1 call Func . <...> Func: . ; очистка стека pop arg1 pop arg2 . pop argN ; возврат ret В табл. <...> Оператор push описывает команду сохра <...>