TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Эффективная компоновка 

             Компоновщик Borland Pascal автоматически удаляет неиспользу-
        емый код (по процедурам), то есть процедуры и функции, являющиеся
        частью скомпилированной программы, но к которым нет обращений, не
        включаются в файл типа .EXE. Процедуры, функции, переменные и ти-
        пизованные константы, участвующие в процессе компиляции, но ссыл-
        ки на которые отсутствуют,  удаляются из файлa .EXE. Удаление не-
        используемого кода выполняется по процедурам,  а  удаление  неис-
        пользуемых данных - по секциям, где эти данные описываются.

             Рассмотрим следующую программу:

             program SmartLink;
             const
                H: array[0..15] of char = '0123456789ABCDEF';
             var
                I,J : integer;
                X,Y : real;
             var
                S: string[79];
             var
                A: array[1..10000] of integer;

             procedure P1:
             begin
               A[1] = 1;
             end;

             procedure P2;
             begin
                I := 1;

         B.Pascal 7 & Objects/LR     - 410 -

             end;

             procedure P3;
             begin
                S := 'Borland Pascal';
                P2;
             end;

             begin
                P3;
             end;

             Основная программа вызывает процедуру P3,  которая  вызывает
        процедуру  P2,  поэтому  обе  процедуры P2 и P3 включаются в файл
        .EXE.  Поскольку P2 ссылается на первый раздел описания  перемен-
        ных,  а P3 ссылается на второй раздел описание переменных,  пере-
        менные I,  J, X, Y, S также включаются в выполняемый файл. Однако
        на  процедуру  P1 никаких ссылок нет,  а включенные в выполняемый
        файл процедуры не ссылаются на переменные Н и A, поэтому эти объ-
        екты удаляются.

             Эффективная компоновка  имеет  особую ценность в связи с ис-
        пользованием модулей,  которые реализуют  библиотеки  процедур  и
        функций.  Примером такого модуля является стандартный модуль Dos,
        который содержит ряд процедур и функций. При этом программа редко
        использует все эти процедуры. Если она использует только одну или
        две процедуры или функции,  то только эти процедуры включаются  в
        полученный в результате код.


Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz