Страница 10 из 69
тегpиpованной сpеды ваш пакет включает в себя также отдельный
компилятоp (TCC), компоновщик и MAKE утилиту. Описание отдельных
пpогpамм пpиведено в пpиложениях C и D в Справочном руководстве
по Турбо Си.
- 77,78 -
Создание файлов в ТС
----------------------------------------------------------------
Создание новой пpогpаммы в интегpиpованной сpеде Туpбо Си
обычно связывается с пpохождением чеpез следующие шаги:
1. Установка опций каталогов для того, чтобы компилятоp и
компоновщик знали, где искать и сохpанять файлы.
2. Загpузка пpогpаммы в pедактоp ТС. (Пpимечание: если
пpогpамма состоит более чем из одного модуля, вам необходимо соз-
дать файл пpоекта, в котоpом пеpечислить имена этих модулей).
3. Создание выполняемого файла пpогpаммы.
Точность соблюдения этих основных шагов зависит от того,
pаботаете ли вы с одним файлом, или с несколькими.
Отладка вашей программы.
-----------------------------------------------------------------
Выявление и исправление ошибок в программах является всегда
одним из наиболее неприятных аспектов программирования. Интегри-
рованная среда облегчает вашу работу за счет возможностей имеюще-
гося отладчика, который помогает вам в обнаружении ошибок как на
этапах компиляции, так и выполнения.
Обнаружение синтаксических ошибок.
------------------------------------------------------------------
Однако, одной из наиболее весомых причин удобства работы с
интегрированной версией Турбо Си является, конечно, фиксирование
синтаксических ошибок и возможность оценки всех предупреждений
выдаваемых вам компилятором. Турбо Си сначала записывает все со-
общения компилятора и компоновщика в буфер, а затем выводит их
сразу в окно сообщений. Это позволяет ознакомиться с ними, в ус-
ловиях, когда сохраняется возможность непосредственно редактиро-
вать тексты исходных файлов.
- 79,80 -
Для проверки этой возможности добавьте несколько синтакси-
ческих ошибок в пример программы. Уберите знак # из оператора
включения в первой строке. Затем уберите последние кавычки в пя-
той строке программы - printf. Получившийся файл с ошибками будет
выглядеть следующим образом:
include
Когда вы увидите в окне компиляции сообщение Press any key
(нажмите любую клавишу), нажмите пробел. На экране появится окно
сообщений, и светлая полоса (маркер-строка) расположится на пер-
вой ошибке или предупреждении. Поскольку первая ошибка относится
к файлу, находящемуся в данный момент в окне редактора, то вы
также увидите подсвеченную строку, отмечающую место в вашей ис-
ходной программе, где компилятор сгенерировал сообщение об ошибке
или предупреждение.
Если вы желаете просмотреть другие сообщения, то воспользуй-
тесь клавишами управления курсором для перемещения маркер-строки
окна сообщений вверх и вниз. Обратите внимание, что эта строка
перемещается как в окне редактора, так и в окне сообщений по об-
наруженным компилятором ошибкам в вашей исходной программе. При
желании посмотреть строку на которой вы находились перед выходом
из редактора, поместите маркер-строку на сообщение о компиляции.
Если текст в окне сообщений имеет слишком большую длину так,
что не умещается в окне, то вы можете использовать для обозрения
- 81,82 -
клавиши со стрелками влево и вправо для горизонтального продвиже-
ния сообщения. Для обзора большего числа сообщений одновременно,
вы можете увеличить окно сообщений до размеров всего экрана, на-
жав F5 (Zoom). Если окно сообщений увеличено, то оно заслоняет от
вас окно редактора и слежение не выполняется. Поэтому снова вер-
ните окна в режим наложения.
Исправление синтаксических ошибок.
-----------------------------------------------------------------
Для исправления ошибки, поместите маркер-строку окна сообще-
ний на первом сообщении об ошибке и нажмите Ввод. Ваш маркер пе-
рекинется в окно редактора и расположится на месте, которое выз-
вало сообщение об ошибке. Заметьте, что строка состояния
редактора показывает сообщение, которое вы выбрали (это полезно
когда вы работаете с распахнутым окном). Теперь можно исправить
ошибку, которая породила сообщение. (Для этого поставьте знак #,
который вы ранее убрали в первой строке программы.)
Поскольку данное сообщение не единственное, то есть два
метода для продолжения корректировок.
Первый метод заключается в возвращении к окну сообщений,
через нажатие F6 (Message), и выборе очередного сообщения, как
это было сделано ранее.
Однако, вам не обязательно возвращаться в окно сообщений,
чтобы перейти к следующей ошибке. Вы просто можете нажать ALT-F8
(Next error - следующая ошибка) и редактор поместит курсор на
- 83,84 -
место, соответствующее очередной ошибке окна сообщений. Заметьте,
что сообщение, показанное в строке состояния и в высвеченной
строке окна сообщений, меняется по мере того, как вы продвигае-
тесь от одной ошибки к другой. По аналогии можно двигаться и в
обратном направлении, нажав Alt-F7 (Previos error - предыдущая
ошибка).
Имеются определенные преимущества у обоих этих методов, и
обычно обстоятельства диктуют какой метод предпочтительней. Иног-
да одна глупая ошибка в исходной программе может "смутить" компи-
лятор, вызвав множество сообщений. Исправление такой ошибки дела-
ет все остальные сообщения бессмысленными и тогда наиболее удобно
использовать первый метод - вернуться к окну сообщений после исп-
равления первой ошибки, переместиться вниз к следующему значащему
сообщению и выбрать его. В других случаях имеет смысл проверить
все сообщения последовательно; нажатие Alt-F8 (следующая ошибка)
в этом случае более эффективно.
Запомните, что Alt-F7 и Alt-F8 (предыдущая и следующая ошиб-
ка) являются клавишами оперативного доступа, т.е. работают из лю-
бого места в среде программирования Турбо Си. Так, если вы нахо-
дитесь в окне сообщений и нажмете Alt-F8 (следующая ошибка), то
не получите сообщения, которое высвечивается текущим, а получите
следующее за ним сообщение. (Если вы хотите выбрать текущее сооб-
щение, то нажмите Ввод.) Если больше у компилятора нет сообщений,
то Alt-F8 не даст никакого результата.
Примечание: сообщения компоновщика не могут быть выбраны и
не отслеживаются в вашем исходном файле.