- •Компиляторы, библиотеки и инструментальные средства программирования
- •Получение информации: info
- •Двоичные форматы elf и a.Out
- •Другие компиляторы: Паскаль, Ада, Лисп и Фортран
- •Создание и использование библиотек: статических, совместно используемых и динамических
- •Символический отладчик gbd
- •Программа xxgdb
- •Инструментальные средства программирования
- •Утилита make
- •Инструментальные средства разработки
- •Система контроля версий: rcs
- •Система параллельных версий: cvs
- •Интерактивные справочники по приложениям: оперативные руководства
- •Файлы документации утилиты man
Двоичные форматы elf и a.Out
Существуют два формата, которые могут использоваться при создании двоичных файлов (например, файлов исполняемых программ). Первый из них именуется a.out. Этот формат является исходным форматом, используемым для систем UNIX и первых версий Linux. Название формата в данном случае происходит от стандартного имени исполняемого файла, создаваемого компилятором С системы UNIX. Но в связи с широким применением совместно используемых библиотек возникли трудности с форматом a.out. Адаптация формата a.out с целью применения совместно используемых библиотек является весьма сложной процедурой. Поэтому, начиная с четвертой версии UNIX System 5 и операционной системы Solaris, был предложен новый формат. Он получил название ELF (Executable and Linking Format — формат компоновки и исполнения). Целью разработки этого формата было упрощение работы с совместно используемыми библиотеками.
Формат ELF был адаптирован с целью применения в качестве стандартного формата Linux. Все двоичные файлы, создаваемые компилятором gcc, имеют формат ELF (несмотря на то, что стандартное название исполняемого файла, создаваемого в результате функционирования компиляторов, осталось прежним — a.out). Более старые программы, имеющие формат a.out, также могут выполняться системами, поддерживающими формат ELF.
Языки C++ и Objective С: команда g++
Утилита gcc выполняет также функции компилятора языка C++. Она может считывать и компилировать любую программу на языке C++. Однако она не позволяет выполнять автоматическую компоновку с вызовом библиотеки классов C++. Эта библиотека должна вызываться отдельно, с использованием режима командной строки. Для этого можно также воспользоваться командой c++, в результате чего вызывается компилятор gcc вместе с библиотекой классов C++.
Для файлов исходного кода на языке C++ используются расширения, отличающие от расширений обычных файлов кода на языке С. Компилятору C++ соответствует множество различных расширений: С, cc, cхх или срр. Если не принимать во внимание это различие, то компиляция программ C++ проходит точно так же, как и компиляция программ С. Вместо команды gcc рекомендуется использовать команду c++. В следующем примере показано, как должна быть выполнена компиляция программы myprog.cpp, написанной на языке C++.
$ c++ myprog.с -о myprog
Компилятор gcc также поддерживает программы Objective-C. Этот язык программирования является объектно-ориентированной версией языка С, изначально разработанной для операционных систем NeXt. Для компиляции программы на языке Objective-C необходимо использовать команду gcc с параметром -lobjc, с помощью которого обеспечивается компоновка с библиотекой классов Objective-C, libobjc.so.
Другие компиляторы: Паскаль, Ада, Лисп и Фортран
Операционная система Linux поддерживает значительное число языков программирования. Многие из них могут быть установлены с комакт-диска OpenLinux. В дополнение к программам на языках С и C++ программист имеет возможность выполнять компиляцию программ, написанных на языках Паскаль, Ада, Лисп, Бейсик и Фортран. В некоторых случаях компиляция выполняется с помощью компилятора gcc, приспособленного для обработки исходного кода других языков программирования. Например, G77 является GNU-компилятором для языка Фортран. Этот компилятор объединен с компилятором gcc. Команда g77 скомпилирует программу на языке Фортран путем вызова компилятора gcc с параметрами, необходимыми для распознавания кода на Фортране. При этом используется опция G77 компилятора gcc. Компилятор для языка Ада 95 называется gnat. Справочный файл по языку программирования Ада содержит подробные сведения об этом компиляторе. Для компиляции программ на языке Ада необходимо использовать команду gnatmake с указанием названия файла.
