Помощь - Поиск - Пользователи - Календарь
Полная версия: Чем различаются раздельная и независимая компиляции?
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Dr.Bugy
Чем различаются раздельная и независимая компиляции?
volvo
1) независимая:
(Взято отсюда)
Цитата
Другое расширение языка позволяло компилировать фрагменты программы отдельно, каждый фрагмент в свой объектный модуль. При этом «внешние» процедуры описывались одним лишь заголовком с ключевым словом external. Затем компоновщик собирал объектные модули воедино в загрузочный образ программы. Такой подход, получивший название независимой компиляции, позволил избежать полной перекомпиляции проекта, выигрывая немало времени.

Впрочем, независимая компиляция таит в себе большую опасность. Компилятор никоим образом не может проверить соответствие объявления процедуры и ее реализации, полагаясь лишь на внимательность программиста. Практика же показывает, что любая технология, полагающаяся на внимательность и ответственность человека, обречена на провал. Ошибки, связанные с неправильной передачей параметров между раздельно скомпилированными процедурами, не так легко обнаружить, поскольку система контроля типов здесь бессильна.


2) раздельная:
(Взято отсюда)
Цитата
Модульная конструкция могла, наверное, иметь в основном только академический интерес, если бы не техника раздельной компиляции, с самого её начала связанная с модулем. Под термином "раздельной компиляции" мы понимаем, что (1) полная проверка типов производится компилятором не только внутри модуля, но и по его интерфейсам и (2) проверка совместимости (и версий) между соединяемыми модулями достигается посредством простого ключевого сравнения, когда модули скомпонованы и загружены.
Dr.Bugy
Спасибо.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.