Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

# make modules_install

# make install

Результатом успешной сборки и установки станут следующие файлы и каталоги:

/boot/vmlinuz-2.6.x-new

/boot/System.map-2.6.x-new

/boot/initrd-2.6.x-new.img

/lib/modules/2.6.x-new

Осталось добавить в конфигурационный файл вашего загрузчика (п.9.1.1) вариант загрузки с новым ядром. Если вы используете GRUB, впишите в

/boot/grub/grub.conf
следующие строки:

title Linux New Kernel

kernel /vmlinuz-2.6.x-new root=/dev/hda5 ro

initrd /initrd-2.6.x-new.img

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

В случае, если ваш загрузчик — LILO, впишите в

/etc/lilo.conf
строки:

image=/boot/vmlinuz-2.6.x-new

label=" Linux New Kernel"

root=/dev/hda5

initrd=/boot/initrd-2.6.x-new.img

read-only

И занесите изменения в загрузочную запись:

# lilo

Теперь перезагрузите систему и попробуйте загрузиться с новым ядром. При появлении каких-либо ошибок вы всегда сможете загрузить старую версию.

Глава 21

Создаем консольное приложение

21.1. Компилятор gcc

В 8 главе вы познакомились с языком командного интерпретатора и убедились, что на нем можно писать полезные сценарии. Но если вы раньше программировали под Windows, то интерпретатора вам маловато будет — понадобятся более мощные средства разработки. Разумеется, они в ОС Linux есть.

Основным C-компилятором в Linux служит gcc (GNU С Compiler). Если вы не установили средства разработки при установке дистрибутива, самое время сделать это сейчас. Запустите менеджер пакетов (рис. 21.1) и установите следующие пакеты:

♦ gcc — сам компилятор gcc;

♦ gcc-c++ — поддержка С++;

♦ gcc-doc — документация по gcc (очень рекомендую установить);

♦ compat-gcc — пакет, содержащий средства gcc для обратной совместимости. Данный пакет вам нужен, если вы планируете писать программы для более старых систем, чем ваша;

♦ compat-gcc-c++ — то же, что и compat-gcc, только с поддержкой С++;

♦ compat-cpp — препроцессор cpp для обратной совместимости;

♦ binutils — набор вспомогательных утилит, о которых мы поговорим в последнем пункте этой главы;

♦ glibc-devel — содержит библиотеки для разработки C-программ;

♦ libbfd — библиотека дескриптора двоичного файла (Binary File Descriptor library);

♦ libstdc++-devel — заголовочные файлы и библиотеки для программирования на С++;

♦ make — утилита, упрощающая процесс сборки больших проектов.

Рис. 21.1.

Менеджер пакетов Fedora Core — system-config-packages

21.1.1. Вызов gcc

Формат вызова компилятора такой:

gcc [опции] helloworld.с

Вы написали свою программу на С++? Нет проблем: компиляторы С и С++ являются интегрированными. Чтобы сообщить компилятору, на каком языке вы писали свою программу, нужно указать определенную опцию при вызове компилятора. Но можно поступить проще: по умолчанию компилятор считает, что файлы с расширением .с написаны на языке С, файлы с одним из расширений .C, .cc, .cXX — на языке С++, а файлы с расширением .s — на языке ассемблера.

Как правило, перед компиляцией вызывается программа cpp — препроцессор языка С. Препроцессор создаст файл с расширением .i, если ваша программа написана на языке С. и файл с расширением .ii, если ваша программа написана на С++. Если ваша программа уже прошла препроцессорную подготовку, вы можете передать компилятору gcc файл с расширением .i или .ii и gcc уже не будет вызывать препроцессор для подготовки исходного текста. Как правило, программу cpp редко кто вызывает вручную.

Если не указывать никаких опций, то компилятор создаст в текущем каталоге файл a.out, содержащий исполняемый код. Для тех, кто изучал другой язык, я на всякий случай приведу текст первой программы на С (листинг 21.1).

Листинг 21.1. Файл helloworld.c

#include <stdio.h>

main {

 printf("Hello World!\n");

}

А сейчас рассмотрим основные опции компилятора. Обо всех остальных опциях вы сможете узнать по команде

man gcc
.

21.1.2. Общие опции

Из общих опций наиболее интересны три: -х, -с и -о.

С помощью опции -х можно указать язык, на котором написан исходный код, например,

gcc -х с helloworld.c

В качестве языка программы вы можете указать:

♦ с, если ваша программа написана на С;

♦ objective_c, если ваша программа написана на Objective С;

♦ c-header, если ваша программа является заголовком С;

♦ C++, если вы написали программу на С++;

♦ assembler, если вы написали программу на ассемблере.

Существуют и другие варианты, но они не столь важны.

Опция – c используется, если вы хотите только откомпилировать вашу программу, но не вызвать компоновщик. В результате будет создан объектный файл с расширением

.о
.

Опция – о позволяет указать имя результирующего файла. Это очень полезная опция, потому что имя

a.out
мало кого устраивает:

Поделиться:
Популярные книги

Летописи Святых земель

Копылова Полина
Фантастика:
фэнтези
6.25
рейтинг книги
Летописи Святых земель

Страж могил

Кликин Михаил Геннадьевич
Фантастика:
фэнтези
8.07
рейтинг книги
Страж могил

Избранное

Носсак Ганс Эрих
Мастера современной прозы
Проза:
современная проза
5.00
рейтинг книги
Избранное

Виконт де Бражелон, или Десять лет спустя. Том 2

Дюма-отец Александр
3. Три мушкетера
Приключения:
исторические приключения
9.32
рейтинг книги
Виконт де Бражелон, или Десять лет спустя. Том 2

Инквизитор и нимфа

Зонис Юлия
Фантастика:
фэнтези
6.00
рейтинг книги
Инквизитор и нимфа

Легенды российских тамплиеров

Никитин Андрей Леонидович
Религия и эзотерика:
эзотерика
5.00
рейтинг книги
Легенды российских тамплиеров

Человек (Мыслители прошлого и настоящего о его жизни, смерти и бессмертии)

Неизвестен 3 Автор
Научно-образовательная:
философия
5.00
рейтинг книги
Человек (Мыслители прошлого и настоящего о его жизни, смерти и бессмертии)

Ключ от Снов

Челяев Сергей
3. Ключи Коростеля
Фантастика:
фэнтези
5.00
рейтинг книги
Ключ от Снов

Улав, сын Аудуна из Хествикена

Унсет Сигрид
1. Улав, сын Аудуна
Проза:
классическая проза
историческая проза
6.33
рейтинг книги
Улав, сын Аудуна из Хествикена

Выход где вход

Алексеева Татьяна Сергеевна
Проза:
современная проза
5.00
рейтинг книги
Выход где вход

Идеальный слог. Что и как говорить, чтобы вас слушали

Боумэн Алиса
Научно-образовательная:
психология
7.00
рейтинг книги
Идеальный слог. Что и как говорить, чтобы вас слушали

Выбор завоевателя

Зан Тимоти
3. Завоеватели
Фантастика:
боевая фантастика
6.25
рейтинг книги
Выбор завоевателя

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Плутовской роман: Жизнь Ласарильо с Тор-меса, его невзгоды и злоключения. История жизни пройдохи по имени дон Паблос. Хромой Бес. Севильская Куница, или Удочка для кошельков. Злополучный скиталец, или Жизнь Джека Уилтона .

де Кеведо-и-Вильегас Франсиско
40. Библиотека всемирной литературы
Старинная литература:
европейская старинная литература
6.80
рейтинг книги
Плутовской роман: Жизнь Ласарильо с Тор-меса, его невзгоды и злоключения. История жизни пройдохи по имени дон Паблос. Хромой Бес. Севильская Куница, или Удочка для кошельков. Злополучный скиталец, или Жизнь Джека Уилтона .