Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 286

Несколько слов об употреблении терминов. Понятие 'подпрограммамодуль' носит абстрактный характер: оно не связано ни с конкретным языком, ни с какойлибо системой программирования или же операционной системой. Если говорят о некотором языке, то для его средств модуляризации, есте­ственно, используют термины этого языка. Например, когда требуется ука­зать на подпрограммумодуль конкретного языка, делается явное уточнение: библиотека, библиотечный файл С и т. д. Однако термин 'библиотека' также обозначает различное содержание. К примеру, как мы уже имели возмож­ность убедиться (см. п. 1.1.2), в любой реализации языка C/C++ представле­но по крайней мере три вида библиотек (если смотреть со стороны системы программирования).

Если взглянуть со стороны операционной системы, то окажется, что при­нято различать библиотеки по их отношению к процессу загрузки программ. Появляется два вида библиотек: статически загружаемые (SLL — staticlinkedlibrary) и динамически загружаемые (DLL — dynamiclinkedlibrary). Heбудет большой ошибкой считать, что SLLтранслируются вместе с основ­ной программой и являются частью ее объектного кода (неточность здесь в том, что, конечно же, эти библиотеки хранятся в почти до конца оттрансли­рованном виде, готовом к подключению на самой последней стадии работы транслятора и загрузчика). Что касается DLL, то эти библиотеки отстоят от трансляции языка программирования еще дальше: когда потребность в соответствующих средствах выясняется в динамике выполнения програм­мы, операционная система обращается к хранилищу DLL, извлекает из него нужную подпрограммумодуль, приводит ее к виду, в котором программы библиотеки могут быть выполнены (выделяет память, настраивает адреса и т. д.), и тем самым делает DLLчастью выполняемой программы. Еще один шаг в том же направлении делают системы клиентсервер (в частности, системы CORBA, BENTO, СОМ и их развития). Когда подпрограммекли­енту требуются функции подпрограммысервера, она устанавливает связь с сервером, который может находиться в другой вычислительной системе, и передает ему запрос и данные. Сервер возвращает программе результаты, а также может модифицировать предоставленные данные.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама