Майкл Джонсон - Разработка приложений в среде Linux. Второе издание

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

Майкл Джонсон - Разработка приложений в среде Linux. Второе издание краткое содержание

Разработка приложений в среде Linux. Второе издание - описание и краткое содержание, автор Майкл Джонсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Разработка приложений в среде Linux. Второе издание - читать онлайн бесплатно полную версию (весь текст целиком)

Разработка приложений в среде Linux. Второе издание - читать книгу онлайн бесплатно, автор Майкл Джонсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

42. Welsh, Matt and Kaufman, Lars. Running Linux (second edition) . O'Reilly, 1996. ISBN 1-565-92151-8.

Примечания

1

Andrew Tanenbaum, Computer Networks, Prentice Hall, 1981, стр. 168.

2

По этой причине некоторые люди называют GPL "вирусом". — Примеч. авт .

3

Это справедливо для тех, кто привык к раскладке qwerty. Те, кто обучался на клавиатуре Дворака, используют множество макросов vi, которые делают его удобным в наборе.

4

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

5

Большинство версий make, включая версию GNU, распространяемую с Linux, определят бесконечный цикл и завершатся с выдачей соответствующего сообщения об ошибке.

6

Большинство, но не все, поставщики услуг доступа в Internet назначают динамические IP-адреса, а не статические.

7

Несмотря на имя, которое может ввести в заблуждение, этот системный вызов устанавливает имя узла, а не имя Internet-хоста машины.

8

Сетевые информационные службы (Network Information Services — NIS) предоставляют для машин в сети механизм совместного использования информации, такой как пользовательские имена и пароли. Ранее они назывались "желтыми страницами" (Yellow Pages — YP). Имя домена NIS — часть этого механизма, который реализуется за пределами ядра системы с тем исключением, что доменное имя хранится в структуре utsname.

9

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

10

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

11

Большинство традиционных систем Unix передают ошибку шины ( SIGBUS) процессу, который пытается использовать невыровненные данные. Ядро Linux обрабатывает доступ к невыровненным данным так, чтобы процесс мог нормально продолжать работу, хотя за это приходится платить существенным снижением производительности.

12

Во всяком случае это справедливо для систем Linux/Intel и Linux/SPARC. Размер страницы зависит от базовой аппаратной архитектуры и в некоторых системах может составлять 16 Кбайт и больше.

13

Разница между -fPICи -fpicзаключается в способе генерации независимого от расположения кода. В некоторых архитектурах с помощью -fpicможно собрать только относительно небольшие совместно используемые библиотеки, тогда как в других эти флаги дают один и тот же эффект. Если только нет веских причин на обратное, лучше использовать -fPICвместо -fpic, тогда все будет работать должным образом во всех архитектурах.

14

В случае удаления /etc/ld.so.cacheсистема может замедлиться. Для восстановления /etc/ld.so.cacheзапустите ldconfig.

15

Для многопоточных приложений библиотека хранит код ошибки там, где функция errno(), которой известно, какой поток является текущим, может получить ее. Разные потоки могут содержать разные текущие коды возврата ошибок.

16

uid и gid обычно представляют собой положительные целые, но отрицательные целые тоже имеют определенное назначение. Применение -1 для идентификатора проблематично, однако многие системные вызовы, работающие с uid и gid, используют -1в качестве признака, что модифицировать значение не нужно (см. пример этого в setregid()далее в главе).

17

Процессы Linux также имеют четвертый uid и gid, используемые для файлового доступа. Они обсуждаются в следующем разделе этой главы.

18

Большинство систем передают окружение в виде параметра main(), но такой метод не включен в стандарт POSIX. Переменная environ — это метод, утвержденный POSIX.

19

Детальную информацию о том, как родительские и дочерние открытые файлы соотносятся друг с другом, можно найти в главе 11.

20

Группы процессов рассматриваются далее в этой главе

21

В главе 15 описаны причины, по которым это может произойти.

22

Это тот же формат, который использует команда envдля печати текущих значений переменных окружения, и аргумент envpимеет тот же тип, что и глобальная переменная environ.

23

Технически это указатель на завершающийся NULLмассив указателей на массивы символов, каждый из которых завершается символом '\0'. Более подробно об это рассказано в [15].

24

Появление vfork()было мотивировано старыми системами, которым необходимо было копировать всю память, используемую исходным процессом, как часть fork().Современные операционные системы используют копирование при записи, которое копирует области памяти только по необходимости, как это описано во многих источниках, посвященных операционным системам, в частности [40] и [2]. Это свойство делает fork()почти таким же быстрым, как vfork(), и намного более простым в использовании.

25

Это — существенное упрощение. В действительности kill()посылает сигнал, а сигналы сами по себе достаточно сложная тема. См. полное описание того, что такое сигналы и как их применять, в главе 12.

26

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

27

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

28

В процессе работы system()блокирует SIGCHILD, что заставляет передавать этот сигнал программе непосредственно перед тем, как system()вернет управление (но после того, как system()вызовет wait()для порожденного процесса), поэтому программы, которые используют обработчики сигналов, должны это учитывать и обрабатывать такие ложные сигналы осторожно. Функция system()также игнорирует SIGINTи SIGQUIT, а это означает, что быстрые циклические повторные вызовы system()может оказаться невозможно прервать ничем, кроме SIGSTOPи SIGKILL.

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

Интервал:

Закладка:

Сделать


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

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




Разработка приложений в среде Linux. Второе издание отзывы


Отзывы читателей о книге Разработка приложений в среде Linux. Второе издание, автор: Майкл Джонсон. Читайте комментарии и мнения людей о произведении.


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

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