Нейл Мэтью - Основы программирования в Linux

Тут можно читать онлайн Нейл Мэтью - Основы программирования в Linux - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство «БХВ-Петербург», год 2009. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Основы программирования в Linux
  • Автор:
  • Жанр:
  • Издательство:
    «БХВ-Петербург»
  • Год:
    2009
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-0289-4
  • Рейтинг:
    4/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Нейл Мэтью - Основы программирования в Linux краткое содержание

Основы программирования в Linux - описание и краткое содержание, автор Нейл Мэтью, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым.

Для начинающих Linux-программистов

Основы программирования в Linux - читать онлайн бесплатно полную версию (весь текст целиком)

Основы программирования в Linux - читать книгу онлайн бесплатно, автор Нейл Мэтью
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Давайте в третий раз изменим файл и добавим несколько таких макросов:

$ со -l important.с

important.c,v --> important.с

revision 1.2 (locked)

done

$

Отредактируйте файл в соответствии с приведенным далее кодом:

#include

#include

/*

Это важный файл для управления данным проектом.

В нем реализована каноническая программа "Hello World".

Filename: $RCSfile$

*/

static char *RCSinfo = "$Id$";

int main() {

printf ("Hello World\n");

printf("This is an extra line added later\n");

printf("This file is under RCS control. Its ID is\n%s\n", RCSinfo);

exit(EXIT_SUCCESS);

}

Теперь сохраните эту версию и посмотрите, как RCS управляет специальными строками:

$ ci important.с

important.с,v <-- important.c

new revision: 1.3;

previous revision: 1.2

enter log message, terminated with single '.' or end of file:

>> Added $RCSfile$ and $Id$ strings

>> .

done

$

Если заглянете в каталог, то найдете только RCS-файл.

$ ls -l

-r--r--r-- 1 neil users 907 2007-07-09 08:07 important.с,v

$

Если вы извлечете текущую версию исходного файла (с помощью команды со) и просмотрите его, то увидите, что макросы раскрыты:

#include

#include

/*

Это важный файл для управления данным проектом.

В нем реализована каноническая программа "Hello World".

Filename: $RCSfile: important.с,v $

*/

static char *RCSinfo = "$Id: important.c,v 1.3 2007/07/09. 07:07:08 neil Exp $";

int main() {

printf("Hello World\n");

printf("This is an extra line added later\n");

printf("This file is under RCS control. Its ID is\n%s\n", RCSinfo);

exit(EXIT_SUCCESS);

}

А теперь выполните упражнение 9.6.

Упражнение 9.6. GNU-версия makeс RCS

У команды makeверсии GNU есть несколько встроенных правил для управления RCS-файлами. В этом примере вы увидите, как работать с отсутствующим исходным файлом.

$ rm -f important.с

$ make important

со important.с,v important.c

important.с,v --> important.c

revision 1.3

done

сс -c important.c -o important.о сс important.о -о important

rm important.о important.с

$

Как это работает

У команды makeесть стандартное правило для создания файла без расширения с помощью компиляции файла с тем же именем и расширением с. Второе стандартное правило разрешает makeсоздать файл important.c из файла important.c,v, используя RCS. Поскольку нет файла с именем important.c, команда makeсоздала файл с расширением с, получив последнюю версию файла с помощью команды со. После компиляции она навела порядок, удалив файл important.c.

Команда ident

Команду identможно применять для поиска версии файла, которая содержит строку $Id$. Поскольку вы сохранили строку в переменной, она появляется и в результирующем исполняемом файле. Может оказаться так, что, если вы включили специальные строки в исходный код, но никогда не обращаетесь к ним, компилятор из соображений оптимизации удалит их. Эту проблему можно обойти, добавив в исходный код несколько фиктивных обращений к ним, хотя по мере улучшения компиляторов делать это становится все труднее!

Далее показан простой пример того, как можно использовать команду identдля двойной проверки RCS-версии исходного файла, применяемого для формирования исполняемого файла (упражнение 9.7).

Упражнение 9.7. Команда ident

$ ./important

Hello World

This is an extra line added later

This file is under RCS control. Its ID is

$Id: important.c,v 1.3 2007/07/09 07:07:08 neil Exp $

$ ident important

important:

$Id: important.c,v 1.3 2007/07/09 07 :07 :08 neil Exp $

$

Как это работает

Выполняя программу, вы показываете строку, включенную в исполняемый файл. Далее вы демонстрируете, как команда identможет извлечь из исполняемого файла строки вида $Id$.

Этот метод применения RCS и строк вида $Id$, включаемых в исполняемые файлы, может быть очень мощным средством определения версии файла, содержащей ошибку, о которой сообщил пользователь. RCS-файлы (или SCCS) можно применять как часть средства отслеживания в проекте проблем, о которых сообщается, и способов их устранения. Если вы продаете программное обеспечение или даже отдаете его бесплатно, очень важно знать, что изменилось между двумя выпущенными версиями.

Если вас интересует дополнительная информация, на странице rcsintroинтерактивного руководства в дополнение к стандартному руководству по RCS приведено введение в систему RCS. В него также включены страницы, посвященные отдельным командам, таким как ci, сои т.д.

SCCS

Система SCCS предлагает средства, очень похожие на средства системы RCS. Преимущество системы SCCS лишь в том, что она определена в стандарте X/Open, поэтому все версии UNIX известных производителей должны ее поддерживать. С практической точки зрения система RCS предпочтительнее, она легко переносится на разные платформы и распространяется бесплатно. Поэтому, если у вас UNIX-подобная система, независимо от ее отображения на стандарт X/Open, вы сможете получить для нее и установить в ней систему RCS. По этой причине мы не будем описывать далее в книге систему SCCS, лишь приведем краткое сравнение команд, имеющих аналоги в обеих системах.

Сравнение RCS и SCCS

Трудно провести прямую аналогию между командами двух систем, поэтому табл. 9.2 следует рассматривать как краткий указатель. У команд, перечисленных в таблице, разные опции для выполнения одних и тех же задач. Если вы должны применять систему SCCS, следует найти соответствующие опции, но, по крайней мере, вы будете знать, где их искать.

Таблица 9.2

RCS SCCS
rcs admin
ci delta
со get
rcsdiff sccsdiff
ident what

В дополнение к только что перечисленным командам у команды sссsодноименной системы есть некоторое пересечение с командами rcsи сосистемы RCS. Например, команды sссs editи sссs createэквивалентны командам со -lи rcs -iсоответственно.

CVS

Альтернатива применения системы RCS для управления изменениями в файлах — система CVS, которая означает Concurrent Versions System (система параллельных версий). CVS стала очень популярной, может быть, потому, что у нее есть одно явное преимущество по сравнению с системой RCS: на практике CVS используется в Интернете, а не только в совместно используемом локальном каталоге как RCS. В системе CVS также разрешены параллельные разработки, т. е. многие программисты могут работать с одним и тем же файлом одновременно, в то время как RCS разрешает лишь одному пользователю работать с конкретным файлом в определенный момент времени. Команды CVS похожи на команды RCS, поскольку первоначально CVS была разработана как внешний интерфейс RCS.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Нейл Мэтью читать все книги автора по порядку

Нейл Мэтью - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Основы программирования в Linux отзывы


Отзывы читателей о книге Основы программирования в Linux, автор: Нейл Мэтью. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий