My-library.info
Все категории

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

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Основы программирования в Linux - Мэтью Нейл. Жанр: Интернет год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Основы программирования в Linux
Автор
Дата добавления:
17 сентябрь 2020
Количество просмотров:
334
Читать онлайн
Основы программирования в Linux - Мэтью Нейл

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

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

Основы программирования в Linux читать онлайн бесплатно

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

Совместно используемые библиотеки хранятся в тех же каталогах, что и статические, но у имен файлов совместно используемых библиотек другой суффикс. В типовой системе Linux имя совместно используемой версии стандартной библиотеки математических функций — /lib/libm.so.

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

В этом случае система предоставляет возможность многим приложениям одновременно использовать единственную копию совместно используемой библиотеки и хранить ее на диске в единственном экземпляре. Дополнительным преимуществом служит возможность обновления совместно используемой библиотеки независимо от базирующихся на ней приложений. Применяются символические ссылки из файла /lib/libm.so на текущую версию библиотеки (/lib/libm.so.N, где N — основной номер версии — 6 во время написания книги). Когда ОС Linux запускает приложение, она учитывает номер версии библиотеки, требующийся приложению, чтобы не дать ведущим новым версиям библиотеки испортить более старые приложения.

Примечание

Вывод в следующем примере получен из дистрибутива SUSE 10.3. Если вы применяете другой дистрибутив, ваш вывод может слегка отличаться.

В системах Linux программа (динамический загрузчик), отвечающая за загрузку совместно используемых библиотек и разрешение ссылок на функции в клиентских программах, называется ld.so и может присутствовать в системе как ld-linux.so.2, или li-lsb.so.2, или li-lsb.so.3. Дополнительные каталоги поиска совместно используемых библиотек настраиваются в файле /etc/ld.so.conf, который после внесения изменений (например, если добавляются совместно используемые библиотеки X11 при установке графической оболочки X Window System) следует обработать командой

ldconfig
.

Запустив утилиту

ldd
, вы можете увидеть, какие совместно используемые библиотеки требуются программе. Например, если вы попытаетесь выполнить утилиту для приложения из нашего примера, то получите следующие строки:

$ <b>ldd program</b>

  linux-gate.so.1 =&gt; (0xffffe000)

  libc.so.6 =&gt; /lib/libc.so.6 (0xb7db4000)

  /lib/ld-linux.so.2 (0xb7efc000)

В этом случае вы видите стандартную библиотеку С (libc) как совместно используемую (.so). Программе требуется основная версия 6. В других системах UNIX принимаются аналогичные меры для получения доступа к совместно используемым библиотекам. Подробную информацию можно найти в системной документации.

Во многом совместно используемые библиотеки аналогичны динамически подключаемым библиотекам в ОС Windows. Библиотеки с расширением .so соответствуют файлам с расширением dll и требуются во время выполнения, а библиотеки с расширением .а аналогичны файлам с расширением lib, которые включаются в исполняемые программы.

Получение справки

Подавляющее большинство систем Linux хорошо документировано в отношении системных программных интерфейсов и стандартных утилит. Это на самом деле так, потому что со времени первых систем UNIX программистов призывали снабжать свои приложения справочными материалами или описаниями. Эти справочные страницы (man pages), которые иногда предоставлялись в печатной форме, всегда доступны и в электронном виде.

Доступ к интерактивным справочным руководствам обеспечивает команда

man
. Эти справочные руководства отличаются качеством и деталями. Одни могут просто переадресовать читателя к другой, более полной документации, в то время как другие дают полный перечень всех опций и команд, поддерживаемых утилитой. В любом случае справочные руководства — подходящий способ знакомства с приложением.

Комплект программного обеспечения проекта GNU и другое свободное ПО используют интерактивную систему документации, названную info. Вы можете просмотреть всю документацию в интерактивном режиме с помощью специальной программы info или команды

info
редактора emacs. Достоинство системы info в том, что вы можете перемещаться по разделам документации с помощью связей и перекрестных ссылок, переходя непосредственно к нужному вам разделу. Для разработчика документации преимущество в том, что справочные файлы могут автоматически генерироваться из того же источника, что и печатные или набранные на клавиатуре страницы документации. 

Упражнение 1.3. Справочные руководства и система info

Давайте познакомимся с документацией для компилятора GNU С (gcc).

1. Сначала посмотрим на справочное руководство.

$ <b>man gcc</b>

GCC(1)                GNU                GCC(1)

NAME

       gcc — GNU project С and С++ compiler

SYNOPSIS

       gcc [-с|-S|-E] [-std=standard]

           [-g] [-pg] [-Olevel]

           [-Wwarn...] [-pedantic]

           [-Idir...] [-Ldir...]

           [-Dmacro[=defn]...] [-Umacro]

           [-foption...] [-mmachine-option...]

           [-о outfile] infile...

       Only the most useful options are listed here; see below

       for the remainder. g++ accepts mostly the same options as

       gcc.

DESCRIPTION

       When you invoke GCC, it normally does preprocessing, com-

       pilation, assembly and linking. The &quot;overall options&quot;

       allow you to stop this process at an intermediate stage.

       For example, the -c option says not to run the linker.

       Then the output consists of object files output by the assembler.

       Other options are passed on to one stage of processing.

       Some options control the preprocessor and others the com-

       piler itself. Yet other options control the assembler and

       linker; most of these are not documented here, since we

       rarely need to use any of them.

...

Если хотите, можно прочесть об опциях, поддерживаемых транслятором. В этом случае справочное руководство очень длинное, хотя содержит лишь малую часть полной документации по компилятору GNU С (и С++).

При чтении справочных страниц можно использовать клавишу <Пробел> для перехода к следующей странице, клавишу <Enter> (или клавишу <Return>, если на вашей клавиатуре применяется эта клавиша вместо <Enter>) для перехода к следующей строке и клавишу <q> для полного выхода из программы.


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

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


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

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

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.