Операционная система 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 - пользоваться фильтрами оболочки.
Глава 15, Макропроцессор m4 - Обзор
Создание языка ввода с помощью команд lex и yacc
Средства работы с сообщениями - Информация для программистов
Глава 24, Функции, примеры программ и библиотеки