Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книги автора: Разработка приложений в среде Linux. Второе изданиеLinux Application Development. Second Edition
/ Книга: Разработка приложений в среде Linux. Второе издание
Оглавление книги
- Введение
- Часть I Начало работы
- Глава 1 История создания Linux
- 1.1. Краткая история свободного программного обеспечения Unix
- 1.2. Разработка Linux
- 1.3. Важные факты в создании систем Unix
- 1.4. Происхождение Linux
- Глава 2 Лицензии и авторские права
- Глава 3 Онлайновая системная документация
- Часть II Инструментальные средства и среда разработки
- Глава 4 Инструментальные средства разработки
- Глава 5 Опции и расширения gcc
- Глава 6 Библиотека GNU C
- 6.1. Выбор возможностей glibc
- 6.2. Интерфейсы POSIX
- 6.2.1. Обязательные типы POSIX
- 6.2.2. Раскрытие возможностей времени выполнения
- 6.2.3. Поиск и настройка базовой системной информации
- 6.3. Совместимость
- Глава 7 Средства отладки использования памяти
- 7.1. Код, содержащий ошибки
- 7.2. Средства проверки памяти, входящие в состав glibc
- 7.3. Поиск утечек памяти с помощью mpr
- 7.4. Обнаружение ошибок памяти с помощью Valgrind
- 7.5. Electric Fence
- Глава 8 Создание и использование библиотек
- 8.1. Статические библиотеки
- 8.2. Совместно используемые библиотеки
- 8.3. Разработка совместно используемых библиотек
- 8.3.1. Управление совместимостью
- 8.3.2. Несовместимые библиотеки
- 8.3.3. Разработка совместимых библиотек
- 8.4. Сборка совместно используемых библиотек
- 8.5. Инсталляция совместно используемых библиотек
- 8.6. Работа с совместно используемыми библиотеками
- Глава 9 Системное окружение Linux
- Часть III Системное программирование
- Глава 10 Модель процессов
- 10.1. Определение процесса
- 10.2 Атрибуты процессов
- 10.2.1. Идентификатор процесса и происхождение
- 10.2.2. Сертификаты
- 10.2.3. Идентификатор uid файловой системы
- 10.2.4. Резюме по идентификаторам пользователей и групп
- 10.3. Информация о процессе
- 10.3.1. Аргументы программы
- 10.3.2 Использование ресурсов
- 10.3.3. Применение ограничений использования ресурсов
- 10.4. Примитивы процессов
- 10.4.1. Создание дочерних процессов
- 10.4.2. Наблюдение за уничтожением дочерних процессов
- 10.4.3. Запуск новых программ
- 10.4.4. Ускоренное создание процессов с помощью vfork()
- 10.4.5. Уничтожение процессом самого себя
- 10.4.6. Уничтожение других процессов
- 10.4.7. Дамп ядра
- 10.5. Простые дочерние процессы
- 10.6. Сеансы и группы процессов
- 10.6.1. Сеансы
- 10.6.2. Управление терминалом
- 10.6.3. Группы процессов
- 10.6.4. Висячие группы процессов
- 10.7. Введение в ladsh
- 10.8. Создание клонов
- Глава 11 Простое управление файлами
- 11.1. Режим файла
- 11.1.1. Права доступа к файлу
- 11.1.2. Модификаторы прав доступа к файлам
- 11.1.3. Типы файлов
- 11.1.4. Маска umask процесса
- 11.2. Основные файловые операции
- 11.2.1. Файловые дескрипторы
- 11.2.2. Закрытие файлов
- 11.2.3. Открытие файлов в файловой системе
- 11.2.4. Чтение, запись и перемещение
- 11.2.5. Частичное чтение и запись
- 11.2.6. Сокращение файлов
- 11.2.7. Синхронизация файлов
- 11.2.8. Прочие операции
- 11.3. Запрос и изменение информации inode
- 11.3.1. Поиск информации inode
- 11.3.2. Простой пример stat()
- 11.3.3. Простое определение прав доступа
- 11.3.4. Изменение прав доступа к файлу
- 11.3.5. Смена владельца и группы файла
- 11.3.6. Изменение временных меток файла
- 11.3.7. Расширенные атрибуты Ext3
- 11.4. Манипулирование содержимым каталогов
- 11.4.1. Создание входных точек устройств и именованных каналов
- 11.4.2. Создание жестких ссылок
- 11.4.3. Использование символических ссылок
- 11.4.4. Удаление файлов
- 11.4.5. Переименование файлов
- 11.5. Манипуляции файловыми дескрипторами
- 11.5.1. Изменение режима доступа к открытому файлу
- 11.5.2. Модификация флага "закрыть при выполнении"
- 11.5.3. Дублирование файловых дескрипторов
- 11.6. Создание неименованных каналов
- 11.7. Добавление перенаправления для ladsh
- Глава 12 Обработка сигналов
- 12.1. Концепция сигналов
- 12.1.1. Жизненный цикл сигнала
- 12.1.2. Простые сигналы
- 12.1.3. Надежные сигналы
- 12.1.4. Сигналы и системные вызовы
- 12.2. Программный интерфейс сигналов Linux и POSIX
- 12.2.1. Посылка сигналов
- 12.2.2. Использование sigset_t
- 12.2.3. Перехват сигналов
- 12.2.4. Манипулирование маской сигналов процесса
- 12.2.5. Нахождение набора ожидающих сигналов
- 12.2.6. Ожидание сигналов
- 12.3. Доступные сигналы
- 12.4. Написание обработчиков сигналов
- 12.5. Повторное открытие журнальных файлов
- 12.6. Сигналы реального времени
- 12.7. Дополнительные сведения о сигналах
- Глава 13 Расширенная обработка файлов
- 13.1. Мультиплексирование входных и выходных данных
- 13.1.1. Неблокируемый ввод-вывод
- 13.1.2. Мультиплексирование с помощью poll()
- 13.1.3. Мультиплексирование с помощью select()
- 13.1.4. Сравнение poll() и select()
- 13.1.5. Мультиплексирование с помощью epoll
- 13.1.6 Сравнение poll() и epoll
- 13.2. Отображение в памяти
- 13.2.1. Выравнивание по страницам
- 13.2.2. Установка отображения в памяти
- 13.2.3. Отмена отображения областей
- 13.2.4. Синхронизация областей памяти на диск
- 13.2.5. Блокировка областей памяти
- 13.3. Блокирование файлов
- 13.3.1. Блокировочные файлы
- 13.3.2. Блокировка записей
- 13.3.3. Обязательные блокировки
- 13.3.4. Аренда файла
- 13.4. Альтернативы read() и write()
- Глава 14 Операции с каталогами
- 14.1. Текущий рабочий каталог
- 14.1.1. Поиск текущего рабочего каталога
- 14.1.2. Специальные файлы . и ..
- 14.1.3. Смена текущего каталога
- 14.2. Смена корневого каталога
- 14.3. Создание и удаление каталогов
- 14.4. Чтение содержимого каталога
- 14.5. Универсализация файловых имен
- 14.6. Добавление к ladsh возможностей работы с каталогами и универсализацией
- 14.7. Обход деревьев файловых систем
- 14.8. Уведомление о смене каталога
- Глава 15 Управление заданиями
- 15.1. Основы управления заданиями
- 15.1.1. Перезапуск процессов
- 15.1.2. Остановка процессов
- 15.1.3. Обработка сигналов управления заданиями
- 15.2. Управление заданиями в ladsh
- Глава 16 Терминалы и псевдотерминалы
- 16.1. Операции tty
- 16.1.1. Служебные функции терминалов
- 16.1.2. Управляющие терминалы
- 16.1.3. Принадлежность терминала
- 16.1.4. Запись с помощью utempter
- 16.1.5. Запись вручную
- 16.2. Обзор termios
- 16.3. Примеры использования termios
- 16.4. Отладка termios
- 16.5. Справочник по termios
- 16.5.1. Функции
- 16.5.2. Размеры окна
- 16.5.3. Флаги
- 16.5.4. Флаги режима ввода
- 16.5.5. Флаги режима вывода
- 16.5.6. Управляющие флаги
- 16.5.7. Управляющие символы
- 16.5.8. Локальные флаги
- 16.5.9. Управление read()
- 16.6. Псевдотерминалы
- Глава 17 Работа в сети с помощью сокетов
- 17.1. Поддержка протоколов
- 17.1.1. Идеальная работа в сети
- 17.1.2. Реальная работа в сети
- 17.1.3. Как заставить реальность играть по точным правилам?
- 17.1.4. Адреса
- 17.2. Служебные функции
- 17.3. Основные действия с сокетами
- 17.3.1. Создание сокета
- 17.3.2. Установка соединений
- 17.3.3. Связывание адреса с сокетом
- 17.3.4. Ожидание соединений
- 17.3.5. Подключение к серверу
- 17.3.6. Поиск адресов соединения
- 17.4. Сокеты домена Unix
- 17.4.1. Адреса домена Unix
- 17.4.2. Ожидание соединения
- 17.4.3. Соединение с сервером
- 17.4.4. Запуск примеров домена Unix
- 17.4.5. Неименованные сокеты домена Unix
- 17.4.6. Передача файловых дескрипторов
- 17.5. Сетевая обработка с помощью TCP/IP
- 17.5.1. Упорядочение байтов
- 17.5.2. Адресация IPv4
- 17.5.3. Адресация IPv6
- 17.5.4. Манипулирование IP-адресами
- 17.5.5. Преобразование имен в адреса
- 17.5.6. Преобразование адресов в имена
- 17.5.7. Ожидание TCP-соединений
- 17.5.8. Клиентские приложения TCP
- 17.6. Использование дейтаграмм UDP
- 17.7. Ошибки сокетов
- 17.8. Унаследованные сетевые функции
- Глава 18 Время
- 18.1. Вывод времени и даты
- 18.1.1. Представление времени
- 18.1.2. Преобразование, форматирование и разбор значений времени
- 18.1.3. Ограничения, связанные со временем
- 18.2. Использование таймеров
- Глава 19 Случайные числа
- Глава 20 Программирование виртуальных консолей
- 20.1. Начало работы
- 20.2. Выдача звукового сигнала
- 20.3. Определение, является ли терминал виртуальной консолью
- 20.4. Поиск текущей виртуальной консоли
- 20.5. Управление переключением виртуальных консолей
- 20.6. Пример команды open
- Глава 21 Консоль Linux
- 21.1. Базы данных возможностей
- 21.2. Глифы, символы и отображения
- 21.3. Возможности консоли Linux
- 21.3.1. Управляющие символы
- 21.3.2. Управляющие последовательности
- 21.3.3. Тестирование последовательностей
- 21.3.4. Составные управляющие последовательности
- 21.4. Прямой вывод на экран
- Глава 22 Написание защищенных программ
- 22.1. Когда безопасность имеет значение?
- 22.2. Минимизация возможности появления атак
- 22.2.1. Передача полномочий
- 22.2.2. Получение вспомогательной программы
- 22.2.3. Ограничение доступа к файловой системе
- 22.3. Общие бреши системы безопасности
- 22.3.1. Переполнение буфера
- 22.3.2. Разбор имен файлов
- 22.3.3. Переменные окружения
- 22.3.4. Запуск командной оболочки
- 22.3.5. Создание временных файлов
- 22.3.6. Режимы состязаний и обработчики сигналов
- 22.3.7. Закрытие файловых дескрипторов
- 22.4. Запуск в качестве демона
- Часть IV Библиотеки для разработки
- Глава 23 Сопоставление строк
- Глава 24 Управление терминалами с помощью библиотеки S-Lang
- 24.1. Обработка ввода
- 24.1.1. Инициализация обработки ввода в S-Lang
- 24.1.2. Восстановление состояния терминала
- 24.1.3. Чтение символов с терминала
- 24.1.4. Проверка ожидающего ввода
- 24.2. Обработка вывода
- 24.2.1. Инициализация управления экраном
- 24.2.2. Обновление экрана
- 24.2.3. Перемещение курсора
- 24.2.4. Завершение управления экраном
- 24.2.5. Скелет программы управления экраном
- 24.2.6. Переключение наборов символов
- 24.2.7. Запись на экран
- 24.2.8. Рисование линий и прямоугольников
- 24.2.9. Использование цвета
- Глава 25 Библиотека хешированных баз данных
- 25.1. Обзор
- 25.2. Основные операции
- 25.2.1. Открытие файла qdbm
- 25.2.2. Закрытие базы данных
- 25.2.3. Получение файлового дескриптора
- 25.2.4. Синхронизация базы данных
- 25.3. Чтение записей
- 25.4. Модификация базы данных
- 25.5. Пример
- Глава 26 Синтаксический анализ параметров командной строки
- 26.1. Таблица параметров
- 26.2. Использование таблиц параметров
- 26.2.1. Создание содержимого
- 26.2.2. Синтаксический анализ командной строки
- 26.2.3. Остаточные аргументы
- 26.2.4. Автоматические справочные сообщения
- 26.3. Использование обратных вызовов
- 26.4. Обработка ошибок
- 26.5. Псевдонимы параметров
- 26.6. Синтаксический анализ строк аргументов
- 26.7. Обработка дополнительных аргументов
- 26.8. Пример приложения
- Глава 27 Динамическая загрузка во время выполнения
- Глава 28 Идентификация и аутентификация пользователей
- Приложения
- Глоссарий
- Литература
- Сноски из книги
- Содержание книги
- Популярные страницы
Похожие страницы
- Разработка приложений в среде Linux. Второе издание
- Повышение производительности приложений с помощью хранимых процедур
- InterBase Classic Server под Linux
- Каталог BIN в InterBase Classic Server для Linux
- Разработка через тестирование и разработка с тестами
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- 12. Лекция: Создание приложений с графическим интерфейсом пользователя.
- Разработка приложений баз данных InterBase на Borland Delphi
- Вам очень пригодится «Разработка ценностных предложений», если…
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- Глава 5. Разработка и анализ бизнес-планов в системе Project Expert
- 2.2. Практическая разработка фирменного стиля компании 51