ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 2

  
                Работа с исходными файлами в окне редактора
          
          При входе в окно редактора, перед загрузкой конкретного  файла
    редактор   Турбо-Си  автоматически  присваивает  данному  файлу  имя
    NONAME.C. В этот момент вы можете воспользоваться всеми возможностя-
    ми редактора, а именно:
          - создать новый файл под именем NONAME  или  под  любым другим
            именем;
          - загрузить и начать редактирование существующего файла;
          - выбрать файл из списка редактируемых файлов и загрузить  его
     в окно редактора;
          - сохранить находящийся в окне редактора файл;
          - записать файл, находящийся в редакторе, под другим именем;
          - переходить из окна редактора в окно сообщений для нахождения
     и корррекции ошибок, полученных во время трансляции.
          Если вы еще не начали компилировать исходный  файл,  а  только
     создаете или редактируете его, окно сообщений вам не нужно. Для то-
     го, чтобы раздвинуть окно редактора на весь экран  нажмите F5.  Для
     возврата в режим наложения экранов нажмите еще раз  F5.
          
                      Создание нового исходного файла
          Для создания нового файла используйте один из двух методов:
          - Находясь в главном меню,  выберете FILE/NEW,  затем  нажмите
     клавишу  Еnter.  Таким  образом открывается окно редактора с файлом
     NONAME.C.
          - Находясь в главном меню, выберите FILE/LOAD. На экране  поя-
     вится  прямоугольник-подсказка,  в  который нужно будет вписать имя
     файла. /Этой же цели можно достигнуть, нажав F3 из окна редактора/.
                  Загрузка существующего исходного файла
          Для  загрузки  существующего файла можно воспользоваться двумя
     пунктами меню:FILE/LOAD и  FILE/PICK.
          Если вы выбрали  FILE/LOAD, то вы можете следующее:
          - Ввести имя файла, который вы хотите  отредактировать  /можно
     вместе с именем пути/, например: С:\TURBOC\TESTFILE.C.
          - Ввести в прямоугольник-подсказку Load File Name маску  имени
     файла  /используя  символы  *  и  ?/  и  нажать Enter.  Ввод  маски
     *.*  покажет  все файлы в текущей директории, а также все остальные
     директории. За именами директорий идет обратная наклонная черта (\).
     Выбрав директорию, можно посмотреть файлы, в ней находящиеся.  Нап-
     ример, после ввода С:*.С на экране появятся только файлы с расшире-
     нием .С, хранящиеся в корневой директории.
          Для выбора /выделения цветом/ имени файла используйте стрелки,
     затем  нажмите Enter для загрузки выбранного файла. Теперь вы нахо-
     дитесь в главном меню. После этого откроется окно редактора с теку-
     щим  редактируемым файлом /или с файлом с именем NONAME.C, если ни-
     какой другой файл не был загружен в редактор/.
           Если вы решили использовать File/Pick /пункт Pick обсуждается
     ниже в данной части/, то вы можете следующее:
           -  Нажмите  Alt-F  и  Р для вызова списка файлов /или нажмите
     сокращение Alt-F3/.
           - Выберите нужный файл при помощи стрелок вверх и вниз. Пункт
     меню Pick позволяет вам быстро выбрать имя одного из  ранее  загру-
     жавшихся файлов.
 
                        Сохранение исходного файла
           - Из любого места системы нажмите F2.
           - Из главного меню выберите File/Save.
                          Запись выходного файла
           Файл,  находящийся  в редакторе, может быть записан как новый
     файл, или же - на место существующего. Вы можете записать его в те-
     кущую директорию /по умолчанию/ или же указать новый дисковод и имя
     файла.
           Из главного меню выберите File/Write to. Затем впишите полное
     имя в появившийся прямоугольник-подсказку New Name:
           С:\DIR\SUBDIR\FILENAME.EXT
           и нажмите Enter.
           - С: необязательное имя дисковода.
           - \DIR\SUBDIR - необязательное имя директории.
           - FILENAME.EXT - имя и расширение выходного файла /по умолча-
     нию берется расширение .С/. Если расширение вам не требуется,  пос-
     тавьте в конце имени точку.
           Для  возвращения в главное меню нажмите Esc один раз, два на-
     жатия вернут вас в предыдущее активное окно. Также можно нажать  F6
     или Alt-E.
           Если указанный файл  FILENAME.EXT  уже  существует,  редактор
     спросит вас, уничтожать его или нет перед записью файла.
                              Окно сообщений
           Окно сообщений используется для просмотра диагностических со-
     общений при компиляции и отладке программ. В Турбо-Си применен уни-
     кальный механизм отслеживания ошибок, отличительной чертой которого
     является вывод сообщений об ошибках и предупреждений в окно сообще-
     ний и одновременное выделение цветом соответствующего этому сообще-
     нию места в исходном файле в окне редактора /в зависимости от пара-
     метров меню отладчика Debug/. Подробно механизм отслеживания ошибок
     описан в приложении 3 "Параметры командной строки".
           Когда маркер находится в окне  сообщений  строка  оперативной
     подсказки выглядит следующим образом:
           F1-Help  F5-Zoom   F6-Edit  F9-Make   F10-Main Menu
           При  нажатии  соответствующих клавиш получается следующий ре-
     зультат:
     F1-Help    Открывает окно подсказки, поясняющее использование меха-
                низма отслеживания ошибок.
     F5-Zoom    Расширяет окно сообщений на полный экран.
     F6-Edit    Переход в окно редактора.
     F9-Make    Создает файл .ЕХЕ.
     F10-Main Menu   Вызывает главное меню.
     
                           Часть 2. Команды меню
                           
           Главное меню предоставляет вам основные возможности для  заг-
     рузки,  редактирования,  трансляции,  компоновки, отладки и запуска
     программ. В меню семь пунктов: File /работа с файлами/,  Edit  /ре-
     дактор/,  Run  /запуск/,  Compile  /трансляция/,  Project /проект/,
     Options /параметры/ и Debug /отладка/; все они будут описаны  ниже.
     Некоторые  из подпунктов, в которые разворачиваются пункты главного
     меню, предназначены для использования  опытными  программистами;  о
     них более подробно говорится в главе 3.
           Примечание. Упоминание о "создании" /make/ в данной главе от-
     носится к созданию проектов /Project-Make/, а не к автономной прог-
     рамме  МАКЕ. Создание проектов - это обеспечивает определенный сер-
     вис при построении программ, схожий с сервисом программы МАКЕ.  Бо-
     лее подробно об этом также рассказано в главе 3.
 
                       Меню FILE /работа с файлами/
           Разворачивающиеся меню File предназначено для загрузки сущес-
     твующих, создания новых и записи  имеющихся  файлов.  При  загрузке
     файла  он  автоматически  помещается в редактор. После того, как вы
     отредактировали файл, его можно записать в любую директорию под лю-
     бым  именем. Кроме того, это меню позволит вам перейти в другую ди-
     ректорию, временно выйти в ядро операционной системы или прекратить
     работу с Турбо-Си.
                              Load /загрузка/
           Загружает  файл.  Для  получения  распечатки имеющихся файлов
     можно воспользоваться масками, применяемыми в операционной системе,
     а  можно просто указать конкретный файл, впечатав его имя в прямоу-
     гольник-подсказку. Если в имени файла или директории сделана  ошиб-
     ка,  на экране появится соответствующее сообщение. При попытке заг-
     рузить новый файл, когда в редакторе остался не  сохраненный  файл,
     появится  сообщение, требующее подтверждения операции. В любом слу-
     чае оперативные клавиши не будут действовать, до тех пор,  пока  вы
     не нажмете клавишу, указанную в сообщении об ошибке или в сообщении
     о подтверждении операции.
                               Pick /выбор/
           Позволяет выбрать файл из списка  предыдущих  восьми  файлов,
     загружавшихся  в  редактор. Выбранный файл помещается в редактор, а
     маркер устанавливается на то место, в котором он находился в момент
     выхода  из  редактирования  данного файла. Если из списка файлов вы
     выбрали последний пункт "-Load file-"/загрузить файл/, тогда на эк-
     ране появится прямоугольник-подсказка, такой же, как если бы выбра-
     ли пункт File/Load или нажали F3. Для получения данного списка фай-
     лов  можно  воспользоваться оперативной клавишей Alt-F3. Более под-
     робно данный пункт описан в Приложении 3 /Параметры командной стро-
     ки/.
           В программе установки Турбо-Си TCINST имеется возможность за-
     дания автоматического сохранения списка файлов при выходе и загруз-
     ки  его  при  входе  в  Турбо-Си.  Для этого нужно установить пункт
     Load/save pick list в положение "on"/вкл./. Если этот  параметр  не
     установлен, список файлов при выходе из Турбо-Си сохраняться не бу-
     дет.
                                New /новый/
           Указывает на то, что создается новый файл. Вы сразу входите в
     редактор;  файл  по  умолчанию получает имя NONAME.C. Это имя можно
     изменить при выходе из редактора.
                              Save /сохранить/
           Записывает файл, находящийся в редакторе, на диск.  Если  имя
     файла  -  NONAME.C, редактор спросит, не хотите ли вы переименовать
     его. Этот же результат может быть получен из любого  места  системы
     нажатием клавиши F2.
                             Write to /запись/
           Записывает  файл  под новым именем или под тем существующим -
     на место старого файла.
                            Directory /каталог/
           Позволяет посмотреть каталог любой директории  или  требуемый
     набор  файлов. Для распечатки текущей директории нажмите Enter. Из-
     менить маску имени файла можно нажатием F4.
                     Change dir /изменить директорию/
           Позволяет увидеть текущую директорию и  изменить  дисковод  и
     директорию.
 
                            Os shell /ядро ОС/
           Временный выход из Турбо-Си в операционную систему. Для возв-
     рата в Турбо-Си напечатайте Exit. Этим можно воспользоваться,  если
     нужно  выполнить какую-либо команду операционной системы, не выходя
     из Турбо-Си.
                               Quit /выход/
           Прекращает работу с Турбо-Си и выходит в ОС.
           
                          Команда Edit /редактор/
           Команда Edit вызывает встроенный экранный редактор.
           Для того, чтобы попасть в главное меню из  редактора  нажмите
     F10  /или  Alt  и первую букву любой нужной команды главного меню/.
     Исходный текст вашей программы останется на экране. Для возврата  в
     редактор из главного меню нажмите Esc или Е, из любого другого мес-
     та - Alt-E.
                           Команда Run /запуск/
           Команда Run вызывает создание проекта /Project-Make/, а затем
     запускает   программу,   используя   аргументы,   заданные  в  меню
     Options/Args / создание проектов - это  набор  программных  средств
     для  создания  программ,  сходный с программой МАКЕ: см.гл.3/ После
     окончания работы программы на экране  появляется  сообщение  "Press
     any key" /нажмите любую клавишу/; в этот момент можно узнать значе-
     ние, возвращаемое функцией main, для этого нужно нажать Alt-v.
           Примечание. Программы созданные в Турбо-Си,  можно  выполнять
     ихз операционной системы, для этого напечатайте имя файла /без рас-
     ширения/ при появлении подсказки ОС.
                         Меню Compile /компиляция/
           Это меню позволяет транслировать программу в объектный  файл,
     создавать  выполняемый файл, компоновать файлы, указывать первичный
     исходный файл, а также создавать программу на основе нескольких ис-
     ходных файлов.
                Compileto OBJ /трансляция в объектный файл/
           Этот  пункт  меню  является  командой, транслирующей исходный
     текст в объектный файл. В строке этого пункта всегда находится  имя
     файла,   который  будет  получен  в  результате  трансляции,  напр.
     С:EXAMPLE.OBJ; Это имя получается на основе одного из двух  следую-
     щих имен в указанном порядке:
           - имя первичного исходного файла, если оно не указано, то:
           - имя последнего файла, загружавшегося в редактор.
                Make EXE File /создание выполняемого файла/
           Этот пункт меню является командой, вызывающей создание проек-
     та. В этом пункте всегда высвечивается имя файла, который получится
     в результате его выполнения, напр. C:EXAMPLE.EXE. При выборе данно-
     го пункта получится файл с указанным именем. Имя с расширением юЕХЕ
     получается  на основе одного из трех следующих имен в указанном по-
     рядке:
           - имя файла проекта /с расширением .PRJ/,  указанное  в  меню
             Project/Project name, или, если это имя не указано,
           - имя первичного исходного файла, или, если оно не указано,
           - имя последнего файла, загружавшегося в редактор.
                           Link EXE /компоновка/
           Компонует текущий объектный файл с библиотеками /.LIB/, в ре-
     зультате получается новый выполняемый файл.
 
                          Build All /все сначала/
           Перетранслирует все файлы вашего проекта,  независимо  от  их
     даты.  Этот пункт похож на пункт МАКЕ ЕХЕ, за исключением того, что
     в данном случае перетрансляция делается для всех файлов, тогда  как
     Мake перетранслирует только текущие файлы.
                 Primary C File /первичный исходный файл/
           Этот  пункт  используется  для  указания имени файла, который
     должен транслироваться в объектный файл /или в файл .ЕХЕ,  если  не
     указано  имя  проекта/ при входе исполнения команды Compile/Compile
     to  OBJ/Alt-F9/.  Если  проект  не  составлен,  используйте   пункт
     Compile/Make EXE или F9 /см.выше/.
           Указание имени первичного исходного файла полезно /но не обя-
     зательно/ при трансляции одного исходного файла,  у  которого  есть
     несколько  файлов-заголовков  /.Н/.  Если при трансляции обнаружена
     ошибка, файл, содержащий ошибку, а это может быть как файл .С,  так
     и  .Н, автоматически загружается в редактор для исправления ошибки.
     Следует отметить, что файл .Н будет автоматически загружен в редак-
     тор  только  в  том случае, если в меню Debug/Track messages вместо
     значения по умолчанию поставлено значение  "All  Files",  т.е.  все
     файлы;  в том случае, если используется параметр по умолчанию, заг-
     рузка  файла  .Н в редактор не произойдет. После исправления ошибки
     первичный исходный файл перетранслируется при нажатии Alt-F9,  даже
     если он не  загружен в редактор.
          В  процессе  компиляции  в Турбо-Си на экране появится окно, в
     котором высвечиваются результаты компиляции. Для того, чтобы убрать
     это  окно  после  завершения трансляции и компоновки, нажмите любую
     клавишу. Если в процессе создания программы  обнаружены  какие-либо
     ошибки, вы автоматически войдете в окно сообщений, маркер будет по-
     мещен на сообщение о первой встретившейся ошибке /оно будет выделе-
     но цветом/. Меню Compile и его пункты подробно описаны в главе 3.
          
                Меню Project /работа с несколькими файлами/
          Это  меню предназначено для комбинирования нескольких исходных
     и объектных файлов для создания законченных программ. Более подроб-
     но данное меню описано в главе 3.
                        Project name /имя проекта/
          Выбирает файл проекта, содержащий имена файлов, которые должны
     транслироваться и/или компоноваться. Имя проекта присваивается фай-
     лам .ЕХЕ и .МАР при их создании.
          
             Break make on /прервать работу при появлении .../
          Данный  пункт  позволяет указать, после чего должна прерваться
     работа: после трансляции файла, в котором  обнаружены  предупрежде-
     ния, ошибки, фатальные ошибки, или же перед компоновкой файла.
                      Clear project /очистить проект/
          Очищает имя проекта и удаляет сообщения из окна сообщений.
          
                         Меню Options /параметры/
          Меню Options позволяет установить различные параметры, опреде-
     ляющие работу всех компонентов Турбо-Си.  Эти  параметры  позволяют
     управлять  работой  компилятора,  компоновщика, изменять директории
     включаемых и библиотечных файлов, аргументы, передаваемые исполняе-
     мой программе и т.д.
 
                                Компилятор
          Параметры  этого пункта позволяют определить конкретную конфи-
     гурацию аппаратуры, модель памяти, способ отладки, оптимизацию  по-
     лучаемой  программы, управление диагностическими сообщениями и мак-
     ро-определения.
                                  Модель
          В этом пункте можно выбрать одну из  существующих  в  Турбо-Си
     моделей  памяти. Модель памяти определяет метод обращения к памятти
     по умолчанию. По умолчанию выбирается малая модель памяти  /Small/,
     на что указывает слово "Small", стоящее справа от наименования пун-
     кта "Model". Если вы войдете в меню Compile/Model, на  экране  поя-
     вятся  наименования  возможных моделей памятти: Tiny /минимальная/,
     Small /малая/, Compact /компактная/, Medium /средняя/, Large /боль-
     шая/ и Huge /максимальная/. Подробно эти модели описаны в главе 9.
                           Defines /определения/
          Выбрав  этот  пункт,  вы можетевписать в появившийся на экране
     прямоугольник макро-определения, передаваемые  препроцессору.  Нес-
     колько  макро-определений  могут  быть  разделены точкой с запятой.
     Значение, при необходимости, присваивается знаком равенства.
          Пробелы в начале и конце строки удаляются, пробелы, находящие-
     ся  в середине макро-определения, оставляются. Если в макро-опреде-
     ление необходимо вставить точку с запятой, перед ней следует поста-
     вить обратную косую черту.
          Приведенный  ниже  пример означает следующее: определяется имя
     BETA_TEST, переменной  ONE  присваивается  значение  1;  переменной
     COMPILER присваивается значение TURBOC.
                     BETA_TEST; ONE=1; COMPILER=TURBOC
                   Code Generation /генерация программ/
          Параметры этого пункта определяют различные варианты генерации
     объектного кода.
          Последовательность вызова: При вызове функций компилятор может
     генерировать  последовательность вызова соответствующую Си или Пас-
     калю /быструю последовательность/. Разница между ними заключается в
     способе  работы со стеком, числе и порядке вызываемых параметров, а
     также в обработке внешних идентификаторов /по-разному обрабатывают-
     ся  различные регистры и подчеркивания/. Если вы не являетесь опыт-
     ным программистом и не читали главу 9,  посвященную  более  сложным
     вопросам  программирования, не изменяйте не изменяйте значение дан-
     ного пункта, установленное по умолчанию, т.е. последовательность СИ.
          Набор инструкций: Позволяет указать тип процессора, на котором
     будет исполняться программа - 8088/8086 или 80186/80286. По умолча-
     нию принимается тип 8088/8086. Турбо-СИ может  генерировать  расши-
     ренный набор инструкций процессора 80186. Этот параметр также будет
     использоваться при генерации  программ  для  работы  на  процессоре
     80286 в режиме без защиты, как например на IBM PC AT подMS-DOS вер-
     сии 3.0 и выше.
          Плавающая  точка:  Этот  параметр   имеет   три   значения   -
     8087/80287, при котором непосредственно генерируется кол процессора
     8087; Emulation /эмуляция/, в этом случае определяется, если на ва-
     шей  машине  процессор 8087, если он есть, то он используется, если
     же его нет, он эмулируется, конечно, с соответствующим  замедлением
     работы;  третье  значение - None/не используется/, в этом случае вы
     не пользуетесь плаваюшей точкой. Если установлено значение None,  а
     в  программе производятся вычисления с плавающей точкой, при компо-
     новке будет выдана ошибка.
 
          Символьный тип по умолчанию: переключает между двумя определе-
     ниями символьного типа -Signed /знаковый/ и Unsigned /беззнаковый/.
     Если выбрано значение Signed, компилятор будет считать все  опреде-
     ления  типа  char как signed char и наоборот, если указано значение
     unsigned. По умолчанию принимается значение Signed.
          Слияние одинаковых строк: Оптимизация на основе  слияния  двух
     строк,  если одна соответствует другой. При этом уменьшается размер
     программ.
          Выравнивание: Позволяет выбрать выравнивание по словам или  по
     байтам. При выравнивании по словам несимвольные данные выравнивают-
     ся по четным адресам. При выравнивании по байтам, данные могут  вы-
     равниваться как по четным, так и по нечетным адресам, в зависимости
     от следующего доступного адреса. Выравнивание по словам увеличивает
     скорость обмена данными в процессоре 8086 и 80286.
          Стандартный  кадр  стека:  Генерирует  стандартный  кадр стека
     /стандартные коды вызова функции и выхода из нее/. Полезен при  ис-
     пользовании отладчика, т.к. упрощает процесс просмотра хранящихся в
     стекек вызванных процедур.
          Проверка переполнения стека: Генерирует программу с  проверкой
     переполнения  стека  в процессе выполнения. Хотя этим увеличивается
     размер программы и время ее выполнения, не стоит этим пренебрегать,
     т.к.  ошибку, возникающую при переполнении стека очень трудно обна-
     ружить.
          Генерация подчеркиваний: Этот параметр использууется по  умол-
     чанию. Не изменяйте его, если вы не прочли часть 9, посвященную бо-
     лее сложным вопросам программирования.
          Номера строк: Включает номера строк в объектный файл  для  ис-
     пользования  их отладчиком исходного текста. При этом увеличивается
     только размер объектного файла, размер и скорость выполнения  самой
     программы остаются прежними. Всязи с тем, что компилятор может сое-
     динять вместе равзличные участки исходного текста  при  оптимизиции
     переходов  или  перегруппировывать  строки  /что затрудняет отладку
     по номерам строк /, мы рекомендуем выключать оптимизацию по перехо-
     дам при использовании номеров строк.
          Оптимизировать:  изменяет  стратегию  генерации кода Турбо-Си.
     Обычно компилятор использует оптимизацию по размеру /Size/, выбирая
     наименьшую  возможную  последовательность  кода. Если этот параметр
     переключить на скорость /Speed/, компилятор будет  выбирать  наибо-
     лее быструю последовательность для данной задачи.
          Использование  регистровых  переменых: Запрещает или разрешает
     использование регистровых переменных. При разрешении /on/  компиля-
     тор автоматически распределяет регистровые переменные, при запреще-
     нии /off/ регистровые переменные не используются, даже если указано
     ключевое слово register /см.приложение 3/.
          Запрещать использование регистровых переменных следует при на-
     писании интерфейса к существующим уже ассемлерным программам, кото-
     рые не поддерживают их использование.
          Оптимизация  регистров:  Подавляет излишние загрузочные опера-
     ции, запоминая содержимое регистров и используя его по мере необхо-
     димости.
          Примечание.  При использовании этого параметра необходимо соб-
     людать осторожность, т.к. компилятор не может определить  косвенное
     изменение регистра через ссылку. Подробно это ограничение описано в
     приложении 3.
 
          Оптимиззация переходов:  Уменьшает  размер  программы,  убирая
     лишние переходы и реорганизуя циклы и варианты операторы. Реоргани-
     зация циклов может ускорить выполнение плотных внутренних циклов.
                          Source /исходный текст/
          Пункты данного меню определяют интерпретацию исходного  текста
     компилятором на начальных фазах компиляции.
          Длина идентификатора: Указывает количество значащих символов в
     идентификаторе. Идентификаторы считывают различными, если  различны
     первые n символов идентификаторов. Это относится к переменным,
     е  n  символов  идентификаторов.  Это  относится к переменным, мак-
     ро-именам препроцесссора и именам элементов структур.  Длина  может
     лежать  в  пределах  от  1 до 32 символов. По умолчанию принимается
     значение 32.
          Вложенные комментарии: Позволяет использовать  вложенные  ком-
     ментарии  в  программах  Турбо-Си. Обычно, вложенные комментарии не
     используются в других трансляторах Си и они неявляются  переносимы-
     ми.
          Ключевые  слова только постандарту ANSI: Установите этот пара-
     метр, если вы хотите, чтобы Турбо-Си  распознавал  только  ключевые
     слова  стандарта ANSI, а все дополнительные ключевые слова рассмат-
     ривал как обычные идентификаторы. Этими ключевыми словами  являются
     следующие:  near,  far,  huge,  asm, cdecl, pascal, interrupt, _es,
     _ds, _cs, _ss, а также регистровые псевдопеременные /_АХ, _ВХ,.../.
     Этот  параметр также опеределяет идентификатор _STDC_ во время ком-
     пиляции.
                              Errors /ошибки/
          Пункты  данного меню позволяют определять, как компилятор реа-
    гирует на сообщения об ошибках и что он с ними делает.
         
         Ошибки - прекратить после ...:Компиляция прекращается после по-
    явления  указанного числа ошибок, в данном случае, по умолчанию, 25.
    Указанное число может быть в пределах от 0 до 255.  Если  указан  0,
    компиляция будет продолжаться бесконечно.
         Предупреждения  -  прекратить после ... Компиляция прекращается
    после появления указанного числа предупреждений, в данном случае, по
    умолчанию,  100.  Указанное чмсло может быть в пределах от 0 до 255.
    Если указан 0, компиляция будет продолжаться бесконечно, или же  по-
    ка не будет исчерпан лимит ошибок.
         Вывод  предупреждений:  По  умолчанию предупреждения выводятся,
    т.е. могут выводиться любые из следующих типов  предупреждений  /или
    все  вместе/:  предупреждения  о  переносимости, нарушения стандарта
    ANSI, распространенные ошибки и менее распространенные  ошибки.  Эти
    предупреждения подробно описаны в приложениях 2 и 3.
                              Names /имена/
         Изменяет присваемые по умолчанию имена сегментов, групп и клас-
    сов в секциях программы /Code/, данных /Data/ и BSS. После того, как
    вы  выбрали  один  из пунктов, в следующем меню появляется звездочка
    /*/, которая указывает компилятору на использование имен по  умолча-
    нию. Если вы не являетесь опытным программистом и не прочли главу 9,
    не изменяйте параметры этого пункта.
                               Компоновщик
         Пункты данного меню устанавливают параметры компоновщика. Более
    подробно эти параметры описаны в приложении 3.
 
                        Map file/карта загрузки/
         Выбирает  тип  карты загрузки, генерируемой компоновщиком. Если
    она создается /параметр имеет любое значение, кроме off/, то файл  с
    картой   помещается   в  директорию,  указанную  в  меню  O/E/Output
    directory. По умолчанию карта загрузки не  создается  /off/;  другие
    значения  этого  параметра :Segments /сегменты/, Publics/ глобальные
    символы/, Detailed /подробная карта/.
              Initialize Segments /инициализация сегментов/
         Указывает компоновщику  на  необходимость  неинициализированных
    сегментов /обычно эта операция не производится/.
               Detault Libraries /библиотеки по умолчанию/
         При  компоновке  вашей программы с модулями, созданными другими
    компиляторами, имейте в виду, что этот компилятор может поместить  в
    объектный  модуль список библиотек, к которым компоновщик обращается
    по умолчанию. Если этот параметр включен /on/, компоновщик будет пы-
    таться найти неопределенные символы не только в библиотеках, постав-
    ляемых с Турбо-Си, но и в библиотеках, прописанных в объектном  фай-
    ле. Если этот параметр включен /off/, компоновщик будет искать толь-
    ко в библиотеках Турбо-Си, все остальные библиотеки,  прописанные  в
    объектном файле, будут игнорироваться.
         Warn duplicate symbols /предепреждения о дублирующихся
                            идентификаторах/
         Определяет,  будут  или нет выдаваться предупреждения о наличии
    дублируемых символов в объектном файле и в библиотеках. По умолчанию
    предупреждения не выдаются.
                 Stack warning /предупреждения о стеке/
         Отменяет  выдачу  компоновщиком  сообщения "No stack specified"
    /стек не опеределен/.
        Case-sensitive link /компоновка с учетом различий между
                               регистрами/
         Позволяет  учитывать или не учитывать различия между регистрами
    при компоновке. Обычно различия учитываются, т.к. они учитываются  в
    самом языке Си.
                                Окружение
         Пункты  этого  меню указывают, где находятся файлы, необходимые
    компилятору, компоновщику, а также файлы подсказок. Некоторые  пара-
    метры  позволяют  откорректировать рабочее окружение для обеспечения
    конкретных программистских потребностей.
         
           Include directories /директории включаемых файлов/
         Указывает директории, в которых содержатся стандартные включае-
    мые  файлы. Стандартные включаемые файлы указываются в угловых скоб-
    ках в директиве #include, например: #include  .  Несколько
    директорий разделяются точкой с запятой.
         
                 Output directory /выходная директория/
         Здесь хранятся файлы с расширениями .OBJ, .EXE, .MAP. В эту ди-
    ректорию смотрит Турбо-Си при создании программ. Если эта директория
    не указана, файлы хранятся в  текущей директории.
         
               Library directory /библиотечная директория/
         Здесь указывается директория, в которой хранятся объектные фай-
    лы типа CO?.OBJ, а также библиотеки исполняющей системы /.LIB/.
 
                  Turbo directory /директория Турбо-Си/
         В этой директории Турбо-Си ищет файл конфигурации /.ТС/ и  файл
    подсказок  /ТСHELP.TCH/.  Для  того,  чтобы Турбо-Си нашел начальный
    файл конфигурации TCCONFIG.TC/ при первой загрузке, если он не нахо-
    дится  в текущей директории, необходимо установить путь в эту дирек-
    торию внешней программой установки TCINST.
         
               Auto save edit /автоматическое сохранение/
         Предохраняет от потери исходного файла, автоматически записывая
    на  диск  содержимое окна редактора /если оно изменялось/ при вызове
    команды Run или OS shell.
         
               Backup source file /запись исходных файлов/
         По умолчанию Турбо-Си автоматически создает архивную копию  ис-
    ходного файла по команде Save. Копия получает то же имя и расширение
    .BAK. В этом пункте можно отменить автоматическое создание  архивных
    копий.
                     Zoomed windows /наложение окон/
         Когда  этот  параметр находится в положении вкл. /on/, окна ре-
    дактора и сообщений занимают весь экран. Можно переходить из окна  в
    окно,  но  увидеть сразу можно будет только одно окно. При положении
    выкл. /off/ на экране одновременно находятся как окно редактора, так
    и окно сообщений.
         
                               Аргументы
         Этот  пункт позволяет передавать работающей программе рагументы
    командной строки так, как если бы они были  напечатаны  в  командной
    строке операционной системы /перенаправление не поддерживается/. Имя
    программы давать здесь не нужно, одни только аргументы.
         
                           Получить параметры
         Загружает файл конфигурации,  сохраненный  командой  /сохранить
    параметры/.
                           Сохранить параметры
         Сохраняет  все  указанные  в пунктах компилятора, компоновщика,
    окружения, отладчика и проекта параметры в  файле  конфигурации  /по
    умолчанию TCCONFIG.TC/. При загрузке Турбо-Си ищет этот файл в теку-
    щей директории, если его там нет, файл ищется в директории Турбо-Си.
                         Меню Debug /отладчика/
         Пункты этого меню позволяют управлять сообщениями  об  ошибках.
    Здесь  дается  только  краткая информация об отладке, более подробно
    все рассказано в главе 3.
                 Track messages /отслеживать сообщения/
         При просмотре сообщений в окне сообщений  Турбо-Си  отслеживает
    их в редакторе. Есть три способа слежения. По умолчанию отслеживают-
    ся ошибки только в файле, находящимся в данный  момент  в  редакторе
    /Current  file/.  Можно отслеживать ошибки во всех файлах, в которых
    они имеются, загружая их при этом в редактор /All files/. Можно так-
    же отключить слежение /off/.
                   Clear messages /очистить сообщения/
         Убирает сообщения из окна сообщений.
                   Keep messages /сохранить сообщения/
         Это  переключатель:  когда  он включен /on/, Турбо-Си сохраняет
    сообщения, находящиеся в окне сообщений, добавляя  к  ним  сообщения
    последующих  трансляций.  При компиляции файла сообщения, касающиеся
    этого файла, удаляются из окна сообщений, а новые сообщения добавля-
    ются  к старым. Когда он включен /off/, сообщения автоматически уда-
    ляются из редактора перед трансляцией или компиляцией.
                   Available memory /доступно памяти/
         Здесь указывается количество оставшейся для компиляции памяти.
 
                  ГЛАВА 3. КОМПИЛЯЦИЯ И ЗАПУСК ПРОГРАММ
         
         Турбо-Си обеспечивает широкий набор возможностей для разработки
    программ  на языке Си. Он поставляется  с определенным набором пара-
    метров, позволяющим сразу начать работу, но этот набор  легко  можно
    изменить  для его полного соответствия конкретным нуждам программис-
    та. Турбо-Си также предоставляет различные средства  для  выполнения
    таких  стандартных  задач,  возникающих при разработке программ, как
    нахождение ошибок и работа с файлами.
         Если Вы не знакомы с работой в интегрированном окружении  фирмы
    "Борланд", вам следует ознакомиться с главой 2 перед запуском и ком-
    пиляцией ваших программ при помощи Турбо-Си. Это логичная и легкая в
    изучении система, поэтому понимание ее не займет много времени.
                       Краткое содержание главы 3
         Т.К. компилировать и запускать программы Турбо-Си можно как при
    помощи интегрированного окружения, так и  из  стандартной  командной
    строки DOS, в этой главе будут обсуждаться оба способа. Однако, т.к.
    интегрированное окружение представляет из себя законченный  продукт,
    обладающий  большими  возможностями  и очень простой в обращении, мы
    расскажем о нем в первую очередь.
         В начале главы будет рассказано, как использовать интегрирован-
    ное окружение для трансляции, компоновки файлов и созданния выполня-
    емых программ. При отладке программ и  при  исправлении  ошибок  вам
    пригодится интерактивная система отслеживания ошибок, ее использова-
    ние будет обсуждаться при описании компилятора и компоновщика.
         После рассказа о компиляции и удаления ошибок из исходного фай-
    ла мы покажем, как установить параметры компилятора и компоновщика в
    соответствии с вашей программой.
         Затем будет рассказано, как запускать программы  из  интегриро-
    ванного  окружения, о системе построения и создания проектов в  Тур-
    бо-Си.
         После информации о интегрированном  окружении  будет  показано,
    как  компилировать,  компоновать, создавать /перестраивать/ и запус-
    кать программы из командной строки операционной системы.  Кроме  ин-
    тегрированной  версии  Турбо-Си, ваша поставка включает в себя авто-
    номный компилятор, компоновщик и программу МАКЕ. Подробная  информа-
    ция об этих программах приведена в приложениях 3 и 4.
             Компиляция и компоновка в интегрированном окружении
         Создание  программ  в интегрированном окружении Турбо-Си обычно
    включает в себя следующие шаги:
         1. Установить параметры окружения, чтобы компилятор и компонов-
    щик знали, где им искать файлы.
         2.  Загрузить  программу в редактор. Примечание: Если программа
    состоит более чем из одного модуля, необходимо создать файл проекта,
    в котором будут указаны имена всех модулей, составляющих программу.
         3. Создать файл выполняемой программы.
         Конкретные действия при выполнении этих трех пунктов зависят от
    того, один или несколько файлов содержатся в вашей программе.
              Создание программы из одного исходного файла
         Предположим, что мы создаем программу из одного исходного  фай-
    ла,  имеющегося на диске - HELLO.C. Создание программ на основе нес-
    кольких модулей будет описано позднее. При одном  модуле  необходимо
    пройти шесть этапов: от запуска Турбо-Си до запуска программы.
 
                        Шаг 1: Загрузка Турбо-Си.
         Для загрузки Турбо-Си напечатайте в командной строке
         Указать операционной системе, в какой директории находится Тур-
    бо-Си можно следующими способами:
         - ТС.ЕХЕ может находиться в текущей директории;
         -  ТС.ЕХЕ  может находиться в одной из директориий, указанных в
    команде РАТН операционной системы /см. данную команду в  руководстве
    по DOS/;
         -ТС.ЕХЕ может находиться в какой-либо другой директории, тогда,
    в DOS версии 3.0 и выше можно указать эту директорию непосредственно
    в командной строке, например: \TURBOC\TC.
         Интегрированная  версия  Турбо-Си  может принимать из командной
    строки два аргумента: имя файла, который будет загружен в редактор и
    ключ/с,  за  которым следует еще одно имя файла. Эти два имени могут
    следовать в любом порядке. Таким образом,  в  результате  выполнения
    следующей команды
                           tc hello/cmyconfig
    в  редактор будет помещен файл HELLO.C и будет использован файл кон-
    фигурации MYCONFIG.TC. Между ключом/с и именем файла не должно  быть
    пробела; по умолчанию принимается расширение .С для исходного текста
    и ТС. для файла конфигурации.
                     Шаг 2: Выбор пробной программы
         Выберите диск и директорию, в которой содержится демонстрацион-
    ная  программа.  Это можно сделать при помощи меню работы с файлами,
    нажав, например, Alt-F или любым другим методом, описанным  в  главе
    2.  Выберите в меню пункт Change dir и напечатайте имя директории, в
    которой содержится программа. Эта директория станет текущей.
         Примечание. В появившейся при запросе нового  имени  директории
    подсказке указано имя текущей директории. Этим можно воспользоваться
    для того, чтобы узнать, в какой директории вы  находитесь.  Если  ее
    менять не нужно - нажмите Esc.
             Шаг 3: Установка параметров рабочего окружения
         Для установки и сохранения параметров рабочего окружения следу-
    ет войти  в  меню  Options  /  параметры/  и  выбрать  в  нем  пункт
    Environment  /окружение/. Для этого последовательно нажмите Alt-O, E
    и Enter /из главного меню/. Пункт Environment также  разворачивается
    в  меню,  из которого нас интересуют два пункта: include directories
    /директории включаемых файлов/ и Library directory /директория  биб-
    лиотечных файлов/.
         Выберите  первый пункт /Include/, введите имя директории, в ко-
    торой содержатся стандартные файлы Турбо-Си с расширением .Н и  наж-
    мите Enter.
         Затем выберите библиотечную директорию /пункт Library/ и укажи-
    те дисковод и директорию, в которой  содержатся  библиотечные  файлы
    Турбо-Си и файлы загрузчиков.
         Вы  можете  также  выбрать в этом же меню директорию, в которую
    будут записываться файлы, создаваемые компилятором  и  компоновщиком
    /пункт Output directory/, если вы не хотите, чтобы эти файлы записы-
    вались в текущую директорию. В нашем примере  в  этом  необходимости
    нет.
         Для  большинства простых примеров этого достаточно, все осталь-
    ные параметры можно оставить по умолчанию.
         Выбранные параметры можно сохранить в файле конфигурации, кото-
    рый будет автоматически загружаться при загрузке Турбо-Си. При своей
    загрузке  Турбо-Си  ищет  в  текущей  директории   файл   с   именем
    TCCONFIG.TC  и загружает его, если находит. Таким образом, при рабо-
 
    те над конкретной программой полезно иметь в той же директории,  что
    и программа, файл конфигурации и запускать Турбо-Си из этой директо-
    рии. Однако, если файл конфигурации не найден в текущей  директории,
    Турбо-Си  будет искать его в своей директории, в которой можно иметь
    файл конфигурации общего назначения, указываемый при работе в дирек-
    ториях с исходными текстами, использующими другие наборы параметров.
         Примечание:  Для  установки директории Турбо-Си необходимо вос-
    пользоваться программой TCINST.
         Для выхода обратно в меню параметров  Options  нажмите  клавишу
    Esc.  Для  записи  текущих  значений  параметров на диск используйте
    пункт Store options /сохранить параметры/. Файл конфигурации с  име-
    нем  по  умолчанию  TCCONFIG.TC  будет записан в текущую директорию.
    Ему, однако, можно присвоить новое имя, напечатав  его  в  ответ  на
    подсказку  и  нажав  Enter,  но файл с новым именем необходимо будет
    каждый раз загружать  непосредственно  пользователю,  используя  для
    этого  ключ  /с командной строки или пункт Retrive options /получить
    параметры/ меню Options.
             Шаг 4: Загрузка выбранной программы в редактор
         Для  загрузки  демонстрационной программы нажмите F3 /загрузить
    файл/. После этого можно сразу напечатать имя загружаемой программы,
    а  можно воспользоваться маской /*.С/ для получения списка имен фай-
    лов, затем клавишами перемещения маркера выбрать нужный файл  и  на-
    жать  Enter. После загрузки файла окно редактора становится активным
    и можно редактировать исходный файл /что в данном примере  вовсе  не
    обязательно/. Исходный файл должен выглядеть следующим образом:
         
                   Шаг 5: Создание выполняемого файла
         В меню компилятора будет указано имя файла, который будет тран-
    слироваться, а также имя файла выполняемой программы, который  будет
    создан.  Если не определено имя проекта, Турбо-Си считает, что имею-
    щийся у него информации достаточно для создания программы. Определяя
    имя,  присваимое  файлу,  Турбо-Си смотрит сначала на имя первичного
    исходного файла /Primary Cfile/, а затем на имя последнего загружав-
    шегося в редактор файла. Затем работа продолжается точно так же, как
    если бы был задан файл проекта только с одним записанным в него име-
    нем /более подробно о проектах будет рассказано позднее/.
         В  данном простом случае можно транслировать, компоновать и за-
    пускать программы, создающиеся из одного исходного файла, без  пост-
    роения  проектов. Для создания выполняемой программы необходимо  от-
    транслировать исходный файл и  скомпоновать  получившийся  объектный
    файл  со  стандартными  библиотеками  и файлом загрузчика. Это можно
    сделать различными способами, но легче всего нажать F9 или  войти  в
    меню  Compile  и  нажать  Enter,  установив маркер на пункт Make EXE
    file.
                         Шаг 6: Запуск программы
         В  этот момент у вас уже должна быть готовая программа. Для за-
    пуска ее нажмите Alt-R или выберите команду Run из главного меню.
         Примечание. Эту программу можно запустить и из командной строки
    операционной системы, напечатав ее имя без расширения.
 
                                Отладка
         Нахождение  и  исправление  ошибок всегда было одним из сложных
    аспектов программирования. Именно легкость обработки ошибок и  явля-
    ется  одной  из причин, побуждающих к использованию интегрированного
    окружения Турбо-Си. Турбо-Си записывает сообщения компилятора и ком-
    поновщика  в  буфер,  а  затем выводит их на экран в окне сообщений,
    позволяя одновременно просматривать сообщения и редактировать  текст
    программы.
         Для  начала попробуйте ввести в демонстрационную программу нес-
    колько ошибок. Уберите знак # из оператора include,  находящегося  в
    первой  строке; затем уберите последние кавычки из строки, в которой
    находится функция printf /5 строка/. Файл с ошибками  должен  выгля-
    деть так:
         
         Теперь  снова  скомпилируйте  файл, нажав Alt-F9/Compile/. Окно
    компилятора покажет вам, сколько ошибок вы сделали /должно появиться
    три сообщения об ошибках и ни одного предупреждения/.
                             Окно сообщений
         После того, как в окне компилятора появится сообщение Press any
    key /нажмите любую клавишу/, нажмите пробел. На экране появится окно
    сообщений, первое сообщение об ошибке или предупреждение будет выде-
    лено цветом. Т.к. это сообщение относится к  файлу,  находящемуся  в
    данный  момент в окне редактора, в этом окне также появится выделен-
    ная цветом строка, вызвавшая появление сообщения.
         Если вы  хотите  посмотреть  другие  сообщения,  воспользуйтесь
    стрелками для перемещения маркера вверх и вниз. Обратите внимание на
    то, каак маркер в окне редактора следит за  вашими  перемещениями  в
    окне сообщений, помещая маркер в редакторе на тот оператор, который,
    возможно, сгенерировал ошибку. Если вы поместите маркер на сообщение
    о  компиляции, редактор поместит свой маркер на ту строку, в которой
    вы находились перед выходом из редактора.
         Если текст в окне сообщения не умещается на одной строке,  вос-
    пользуйтесь  стрелками  влево  и вправо, для того, чтобы просмотреть
    его целиком. Нажав F5 /Zoom/, вы можете увеличить окно сообщений  до
    размера всего экрана и увидеть одновременно большее количество сооб-
    щений. Когда окно сообщений увеличено, окна редактора на  экране  не
    видно,  поэтому слежение не производится. Для начала оставьте окна в
    режиме наложения.
                    Исправление синтаксических ошибок
         Для исправления ошибки поместите маркер окна сообщений на  пер-
    вое  сообщение и нажмите Enter. Маркер переместится в окно редактора
    на то место, которое вызвало появление ошибки. Обратите внимание  на
    то,  что  в  строке состояния редактора высвечивается выбранное вами
    сообщение /это полезно при работе  с  увеличенными  окнами/.  Теперь
    можно  исправить  ошибку /для этого в первую строку следует вставить
    удаленный перед этим знак #/.
         Так как данное сообщение не единственное, продолжать  работу  с
    ними можно двумя способами.
         Первый  способ  -  это  вернуться в окно сообщений, нажав F6, и
    выбрать следующее сообщение, как это было описано выше.
 
         Однако, можно не возвращаться в окно сообщений для выбора  сле-
    дующей  ошибки. Вместо этого вы можете нажать клавишу F8 /Next error
    - следующая ошибка/, и редактор поместит маркер в то место, где  на-
    ходится следующая указанная в окне сообщений ошибка. Обратите внима-
    ние на то, что сообщения в строке сообщений редактора и подсвеченная
    строка  в  окне  сообщений  изменяются  по мере продвижения от одной
    ошибки к другой. Перейти назад к предыдущей  ошибке  можно  нажатием
    клавиши F7 /Previous error - предыдущая ошибка/.
         Оба способа имеют свои преимущества и выбирать один из них сле-
    дует в зависимости от обстоятельств. Иногда  одна  случайная  ошибка
    может породить множество сообщений, полностью сбив компилятор с тол-
    ку. В этом случае исправление этой ошибки делает все остальные сооб-
    щения бессмысленными и тогда лучше, конечно, использовать первый ме-
    тод, т.е. вернуться в окно сообщений после исправления первой  ошиб-
    ки,  пропустить порожденные ею бессмысленные уже сообщения и выбрать
    следующее за ними. В других случаях имеет  смысл  просматривать  все
    сообщения  последовательно, для этого лучше воспользоваться клавишей
    F8 /следующая ошибка/.
         Клавиши F7 и F8/предыдущая и последующая ошибки/ являются  опе-
    ративными клавишами, т.е. они будут работать в любом месте Турбо-Си.
    Так, если вы находитесь в окне сообщений и нажимаете  F8  /следующая
    ошибка/,  вы  получаете не то сообщение, которое подсвечено в данный
    момент, но следующее за ним. /Если вы хотите выделить текущее  сооб-
    щение, нажмите Enter/. Если больше сообщений нет, нажатие F8 не даст
    никакого результата.
         Примечание. Сообщения компоновщика не выбираются и не  отслежи-
    ваются.
         При исправлении ошибок, обычно, вставляются или удаляются неко-
    торые строки исходного текста. Редактор следит за этим и при перехо-
    де  к  следующей  ошибке правильно помещает маркер на нужную строку.
    Нет необходимости самому пользователю запоминать  номера  строк  или
    считать удаленные и добавленные строки.
                Использование нескольких исходных файлов
         Одним  из преимуществ Турбо-Си является то, что он обеспечивает
    раздельную компиляцию нескольких исходных файлов. Необходимый сервис
    обеспечивается средствами создания проектов /Project Make/.
         В  предыдущем примере имелся только один исходный файл, так что
    можно было использовать пункт Compile/Make для создания  выполняемой
    программы, не определяя файл проекта. При создании программы из нес-
    кольких исходных файлов необходимо указать компилятору, какие  файлы
    используются, т.е. создать файл проекта.
         Это не сложно. Создать проект - это значит указать имена исход-
    ных файлов. Потом будут показаны различные возможности, используемые
    при  создании проектов, а для начала мы создадим проект из двух фай-
    лов.
         Лучше всего иметь один файл с основной программой и  файл  под-
    держки,  в  котором определяются функции и данные, вызываемые из ос-
    новной программы. Основной файл с именем MYMAIN.C  может  выглядеть,
    например, так:
         
         А файл поддержки с именем MYFUNCS.C может выглядеть так:
 
         Имея  эти  два файла, можно составить проект. Как вы, возможно,
    уже догадались, файл проекта содержит всего две  строки,  в  которых
    указаны имена файлов, которые необходимо оттранслировать и скомпоно-
    вать. Назовем файл проекта именем MYPROG.PRJ. Вот он:
                                 mymain
                                 myfuncs
    Турбо-Си считает, что любой файл без расширения имеет расширение  .С
    /можно  явно  указать  это расширение/. кроме того, порядок указания
    файлов не имеет значения, влияя только лишь на порядок  их  трансля-
    ции. Следующий файл проекта приведет к тому же конечному результату:
                                 myfuncs
                                 mymain
         Обратите внимание, что имя файла проекта /MYPROG.PPJ/ отличает-
    ся от имени главной программы /MYMAIN.С/. Эти имена /но не  расшире-
    ния/  могут быть одинаковыми, а могут и не быть, но давая имя файлу,
    стоит помнить, что имя выполняемой программы, а также имя файла кар-
    ты  загрузки,  будет  определяться  по имени файла проекта. В данном
    случае программа будет иметь имя MYPROG.EXE, а карта загрузки,  если
    таковая имеется - MYPROG.MAP.
         В файле проекта можно полностью указывать местонахождение любо-
    го файла, поэтому перед созданием программы вовсе необязательно рас-
    полагать все исходные файлы в одной директории.
         Теперь наберите в редакторе все три файла - MYMAIN.C, MYFUNCS.C
    и MYPROG.PRJ.
            Создание программы из нескольких исходных файлов
         Теперь, когда у вас есть файл проекта, необходимо  сообщить  об
    этом  Турбо-Си. Для этого введите имя проекта в меню работы с проек-
    том. Нажмите Alt-P для входа в меню Project и выберите пункт Project
    name. Имя проекта можно указать явно, а можно воспользоваться маской
    для нахождения его в распечатке каталога /но если файл не записан на
    диск,  в каталоге его, конечно же, не окажется/. После задания имени
    проекта нажмите F9 /Make/ для создания  выполняемой  программы.  Для
    запуска этой программы нажмите Alt-R /Run/.
         Имейте  в  виду, что запуск программы включает в себя ее созда-
    ние. Это значит, что нажатие Alt-R может начать процесс компиляции и
    компоновки,  если  файлы проекта должны быть перетранслированы, т.е.
    явное создание программы можно опустить.
                     Еще раз об отслеживании ошибок
         В примере с программой, созданой из одного  файла,  вы  видели,
    что  просматривать операторы, вызвавшие появление сообщений об ошиб-
    ках можно, выбирая сообщения в окне  сообщений.  Точно  также  можно
    просматривать сообщения об ошибках при многофайловой компиляции.
         Для примера можно ввести несколько синтаксических ошибок в фай-
    лы MYMAIN.C и MYFUNCS.C. В первом файле уберите первую угловую скоб-
    ку из первой строки и уберите символ "с" из слова char в пятой стро-
    ке. В результате этих изменений  должно  появиться  3  сообщения  об
    ошибках и три предупреждения в файле MYMAIN.
         Теперь  загрузите файл MYFUNCS.C и удалите символ "r" из опера-
    тора "return" в пятой строке. В результате появится 2  сообщения  об
    ошибках и 2 предупреждения.
 
         После редактирования исходных текстов они перестанут соответст-
    вовать своим объектным файлам, что определяется по дате, поэтому при
    создании  программы  они будут перетранслированы. Т.к. нашей задачей
    было посмотреть, как отслеживаются ошибки в  многофайловых  програм-
    мах,  следует  изменить параметр, используемый при создании проектов
    для определения места останова. Это делается установлением в положе-
    ние "on" /вкл./ ключа в меню Project.
 
                      Прерывание создания программы
         Прерывание  создания  программы  может  произойти по нескольким
    причинам. Само собой, это произойдет, если программа  создалась,  но
    есть еще возможность останова для выдачи сообщения об ошибках.
         Например,  создание  программы  /на основе файла проекта/ будет
    прекращено, если не найден один из исходных файлов или файл  зависи-
    мости  /об этом позже/, указанные в файле проекта. Кроме того, поль-
    зователь сам может прекратить процесс, нажав Ctrl-Break.
         Создание проекта может также прекратиться при появлении сообще-
    ний транслятора. Тип сообщений, при появлении которых создание прог-
    раммы прекращается, можно изменять  в  пункте  Break  make  on  меню
    Project.  По  умолчанию  процесс  прекращается  при появлении ошибок
    /Errors/, но можно также установить в этом  пункте  прекращение  при
    появлении  фатальных  ошибок,  предупреждений в процессе трансляции,
    или перед запуском компоновщика.
         Установка значения этого параметра зависит от способа,  которым
    вы  хотите устранять ошибки. Если ошибки и предупреждения будут исп-
    равляться по мере их появления, тогда следует в этом пункте  устано-
    вить  соответственно  значение  Warnings /предупреждения/ или Errors
    /ошибки/. Если же вы предпочитаете иметь полный список  сообщений во
    всех  файлах,  тогда вам лучше установить значение Fatal Errors /фа-
    тальные ошибки/ или Link /компоновщик/.
         
         
         


Яндекс цитирования