[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Программирование: Разработка и отладка программ


Глава 1. Инструменты и утилиты

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

Информация о функциях, которые могут использоваться в программах на языке C, приведена в разделах Функции и Команды оболочки.


Ввод текста программы

Для ввода и сохранения текста программ предназначен построчный редактор ed. Кроме того, в системе есть и полноэкранный интерактивный редактор, который называется vi.


Проверка текста программы

Ниже перечислены команды, предназначенные для проверки правильности текста программ:

lint Проверяет синтаксис и соответствие типов в исходном тексте программы на языке С. Команда lint проверяет программу более тщательно, чем компилятор С, и выдает большое количество сообщений о возможных неполадках.
cb Располагает исходный текст программы на языке С в структурном виде с отступами различной ширины.
cflow Генерирует логическую схему выполнения программы на языке С.
cxref Генерирует список всех внешних ссылок для каждого модуля исходной программы на языке С с указанием того, где определены эти ссылки (если они определены в программе).

Компиляция и компоновка программы

Для получения исполняемой программы из исходного кода необходимо обработать исходный файл компилятором и затем редактором связей (компоновщиком).

Компилятор - это программа, которая считывает текст программы из файла и преобразует его в последовательность команд на языке, понятном системе. Редактор связей соединяет программные модули и определяет способ загрузки полученной программы в память. Система создает окончательный исполняемый код программы в несколько этапов:

В операционной системе AIX можно создавать программы и на других языках, в том числе на языках FORTRAN, Pascal и на языке ассемблера. Инструкции по компиляции и компоновке таких программ приведены в документации по этим языкам программирования.

Модули программы могут быть написаны на разных языках. Программа должна содержать основную функцию main, которая должна отвечать за вызов всех прочих процедур и модулей. Для компиляции программ применяется команда cc.

Исправление ошибок в программе

Операционная система снабжена следующими средствами отладки:

Если в программном файле обнаружены синтаксические ошибки или несоответствия имен параметров, то строки, содержащие эти ошибки, можно найти и изменить с помощью текстового редактора или программы поиска и редактирования строк. К последним относятся такие утилиты, как grep, sed и awk. Для внесения масштабных изменений в программные файлы удобно пользоваться сценариями оболочки, автоматизирующими вызов таких утилит.

Сборка и обслуживание программы

В системе предусмотрены специальные средства для управления изменениями программ и для сборки программ из исходных модулей. Эти средства особенно полезны при работе с многомодульными программами.

Утилита make собирает программу из исходных модулей. Команда make очень эффективна, поскольку компилирует только те модули, которые были изменены с момента последней сборки.

Глава 23, Система контроля исходного кода (SCCS) позволяет одновременно работать с несколькими версиями программы без создания отдельного кода для каждой версии. Применение SCCS сэкономит память, а кроме того, весьма эффективно при разработке крупных проектов, когда требуется хранить много версий больших программ.


Функции

Функции, предоставляемые системными библиотеками, облегчают разработку сложных или повторяющихся программных фрагментов и позволяют разработчику сосредоточиться на нестандартных вопросах. Список большинства функций и информация о работе с ними приведена в разделе Обзор процедур (Глава 24, Функции, примеры программ и библиотеки).


Команды оболочки

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

С помощью функций fork и exec можно запускать команды оболочки в качестве отдельных процессов вне программы. Функция system также позволяет выполнять в программах команды оболочки, а функция popen - пользоваться фильтрами оболочки.

Связанная информация

Обработка строк с помощью sed

Глава 15, Макропроцессор m4 - Обзор

Создание языка ввода с помощью команд lex и yacc

Средства работы с сообщениями - Информация для программистов

Глава 14, Команда make

Глава 24, Функции, примеры программ и библиотеки


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]