Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Borland Pascal / Интегрированная среда для DOS /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Оптимизация кода - Программирование от RIN.RU
Оптимизация кода

Некоторые параметры компилятора, поскольку они включают в программу код проверки и обработки ошибок, влияют как на размер, так и на скорость вашего кода. Хотя такие параметры полезно использовать при разработке программы, без них вы можете получить более быстрый и компактный код.


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


  • Выравнивание данных на границу слова Word Align Data ({$A+}) выравнивает переменные и типизированные константы на границу слова, что дает в системах с процессорами 80x86 более быстрый доступ к памяти.

  • Выключение полного вычисления булевских выражений Complete Boolean Evaluation ({$B-}) дает код, который в зависимости от установки ваших булевских выражений более быстро работает.

  • При выключенной эмуляции Emulation ({$E-}) компилятор не будет выполнять компоновку с библиотекой исполняющей системы, эмулирующей сопроцессор 80x87. Она должна использовать сопроцессор 80х87 (в случае его наличия) или стандартный 6-байтовый тип Real. При компиляции приложений Windows эмуляция не используется; при наличии директивы эмуляции компилятор ее игнорирует.

  • Когда задана генерация кода процессора 80286 Code Generation ({$G+}), компилятор для улучшения генерации кода использует дополнительные инструкции процессора 80286. Скомпилированные таким образом программы не будут работать на процессорах 8088 и 8086.

  • При выключенной проверке ввода-вывода I/O Checking ({$I-}) компилятор не проверяет ошибки ввода-вывода. Вызвав предопределенную функцию IOResult, вы можете самостоятельно проверить ошибки ввода-вывода.

  • Когда выключена числовая обработка Numeric Processing ({$N-}), компилятор генерирует код, способный выполнять все операции с плавающей точкой с помощью встроенного 6-байтового типа Real. Если параметр Numeric Processing включен, ({$N+}), компилятор использует сопроцессор 80х87 или эмулирует сопроцессор с помощью программного обеспечения, в зависимости от наличия сопроцессора 80х87. Полученный в результате код может использовать четыре дополнительных вещественных типа (Single, Double, Extended и Comp).

  • Когда выключена проверка диапазона Stack Checking ({$R-}), компилятор не выполняет проверку на ошибки индексирования массива и присваивание значения вне диапазона.

  • При выключенной проверке стека Stack Checking ({$S-}) компилятор не обеспечивает достаточного пространства в стеке для каждого вызова процедуры или функции.

  • Когда включена нестрогая проверка строк-переменных Relaxed String Var Checking ($V-}), компилятор не проверяет параметры-переменные строкового типа. Это позволяет вам передавать строки фактических параметров, имеющие длину, отличную от длины, определенной для формального параметра-переменной.

  • При разрешении расширенного синтаксиса Extended Syntax ({$X+}) вы можете использовать вызовы функций как операторы, поскольку результат функциональных вызовов может отбрасываться.




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




 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Запуск IDE

Компоненты интегрированной среды

Управление окном

Диалоговые окна

Запуск IDE и выход из нее

Работа с файлами

Передача параметров

Условная компиляция

Просмотр объектов

Просмотр модулей

Окно Messages

Kонфигурации IDE

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь