Новые директивы компилятора
Borland Pascal имеет пять новых директив компилятора. Подробнее о них рассказывается в Главе "Директивы компилятора" "Справочного руководства программиста":
Директива $P (открытые строковые параметры) управляет смыслом параметров-переменных, описанных с помощью ключевого слова string.
Директива $T (указатели с проверкой типа) управляет типами значений указателей, генерируемых операцией @.
Директива $Q (проверка переполнения) управляет генерацией кода проверки переполнения для отдельных арифметических операций.
Директива $K (эффективные вызовы) управляет генерацией эффективных вызовов процедур и функций, экспортируемых приложением Windows. Подробнее об обработке в Borland Pascal эффективных вызовов рассказывается в разделе "Код входа и выхода" Главы "Вопросы управления" "Руководства по языку".
Директива $Y (информация об идентификаторе) генерирует в компилируемой программе или модуле ссылочную информацию идентификатора, благодаря чему ObjectBrowser может выводить на экран определение идентификатора и ссылочную информацию для данного программного модуля.
Усовершенствования компилятора
Кроме расширений языка Borland Pascal и добавления новых директив компилятора, в сам компилятор также внесены улучшения:
Компилятор позволяет выполнять более простую компоновку с Си и ассемблером путем передачи в ваш выполняемый файл информации о номерах строк .OBJ. Таким образом, вы можете использовать встроенные отладчик для выполнения по шагам кода языка Си и ассемблера. См. в данной книге Главу "Отладка в интегрированной среде".
Когда правым операндом операции in является константа множественного типа, компилятор генерирует более эффективный код. См. раздел "Встраивание констант множественного типа" в Главе "Оптимизация кода" в "Руководстве по языку".
Компилятор генерирует более эффективный код для малых множеств. О малых множествах подробнее рассказывается в Главе "Оптимизация кода" в "Руководстве по языку".
Компилятор допускает неограниченную вложенность модулей.
Оператор uses в разделе implementation модуля не вызывает теперь циклической ссылки на модуль.
В определенных ситуациях компилятор подавляет операции избыточной загрузки указателей. См. Главу "Оптимизация кода" "Руководства по языку".
8 8 8
| |