Руководство по языку B.Pascal 7

         

DLL и сегменты стека


В отличие от прикладной программы DLL не имеет своего собс- твенного сегмента стека. Вместо этого она использует сегмент сте- ка вызывающей DLL прикладной программы. Это может создать пробле- мы в подпрограмме DLL, которые полагают, что регистры DS и SS ссылаются на один и тот же сегмент, как это имеет место в модуле прикладной программы Windows.

Borland Pascal никогда не генерирует код, подразумевающий равенство DS = SS, и в библиотеке исполняющей системы Borland Pascal таких предположений не делается. Если вы пишете код на языке ассемблера, то не полагайтесь на то, что регистры DS и SS содержат одно и то же значение.



Содержание раздела