Вход/Регистрация
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
.

  • Читать дальше
  • 1
  • ...
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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