×
Traktatov.net » Язык программирования C [Лекции и упражнения, 6-е изд.] » Читать онлайн
Страница 45 из 557 Настройки

Предварительные сведения 43

коллекция компиляторов GNU и проект LLVM

Проект GNU, запущенный в 1987 году, является проектом массового сотрудничества, в рамках которого было разработано множество бесплатных Unix-подобных программ. (GNU представляет собой аббревиатуру от “GNU’s Not Unix” (“GNU — это не Unix”).) Одно из его детищ — коллекция компиляторов GNU, или GCC, в число которых входит и компилятор GCC для языка С. Проект GCC пребывает в состоянии постоянной разработки, которая ведется под руководством координационного комитета, и в его компиляторе С точно отслеживаются изменения стандартов языка С. Версии GCC доступны для широкого множества аппаратных платформ и операционных систем, включая Unix, Linux и Windows. Компилятор GCC С может быть вызван командой gcc. При этом многие системы, использующие команду gcc, создадут для нее псевдоним сс.

Проект LLVM предоставляет еще одну замену для команды сс. Этот проект представляет собой коллекцию связанного с компилятором программного обеспечения с открытым кодом, разработка которого началась в 2000 году с исследовательского проекта в Иллинойском Университете. Его компилятор Clang выполняет обработку кода С и может быть вызван с помощью команды clang. Доступный на нескольких платформах, включая Linux, в конце 2012 года Clang стал стандартным компилятором системы FreeBSD. Как и GCC, в компиляторе Clang достаточно оперативно отслеживаются изменения в стандарте С.

Оба компилятора принимают флаг -v для отображения информации о версии, поэтому в системах, использующих псевдоним сс для команды gcc или clang, следующая команда отображает сведения об используемом компиляторе и его версии:

СС -V

В зависимости от версии, как gcc, так и clang могут требовать указания параметров времени выполнения для вызова более новых стандартов С:

gcc -std=c99 inform.с

gcc -std=clx inform.с

gcc -std=c11 inform.с

Первый пример вызывает стандарт С99, второй — черновой стандарт С11 для версий GCC, разработанных до принятия стандарта, а третий — стандарт С11 для версий GCC, которые были разработаны после его принятия. В компиляторе Clang применяются те же самые флаги.

Системы Linux

Linux является широко распространенной Unix-подобной операционной системой с открытым кодом, которая работает на различных платформах, включая РС и Мае. Подготовка программы С в среде Linux мало чем отличается от подготовки в среде системы Unix, за исключением того, что вам придется воспользоваться общедоступным и бесплатным компилятором GCC С, предоставляемым GNU. Команда компиляции имеет следующий вид:

gcc inform.с

Обратите внимание на то, что установка компилятора GCC производится по желанию пользователя во время установки системы Linux, поэтому вам (или кому-то другому) придется устанавливать компилятор GCC, если он не был установлен изначально. Как правило, при установке создается и псевдоним сс, указывающий на компилятор gcc, поэтому в командной строке можно использовать сс вместо gcc.


44 Глава 1

Дополнительная информация о GCC, включая сведения о новых версиях, доступна но адресу: http://www.gnu.org/software/gcc/index.html.