Книги автора: Основы программирования в Linux
/ Книги автора: Основы программирования в Linux
/ Книги автора: Основы программирования в Linux
Книга: Основы программирования в Linux
Оглавление книги
- Об авторах
- Благодарности
- Предисловие
- Введение
- Для кого эта книга?
- Чему посвящена книга?
- Что вам потребуется для использования книги?
- Исходный программный код
- Стилевое оформление, принятое в книге
- Ошибки
- Сайт p2p.wrox.com
- Глава 1 Приступая к работе
- Глава 2 Программирование средствами командной оболочки
- Почему программа в командной оболочке?
- Немного теории
- Что такое командная оболочка?
- Каналы и перенаправление
- Командная оболочка как язык программирования
- Синтаксис командной оболочки
- Переменные
- Условия
- Управляющие структуры
- Функции
- Команды
- Выполнение команд
- Встроенные документы
- Отладка сценариев
- По направлению к графическому режиму — утилита dialog
- Соединяем все вместе
- Резюме
- Глава 3 Работа с файлами
- Структура файла в Linux
- Системные вызовы и драйверы устройств
- Библиотечные функции
- Низкоуровневый доступ к файлам
- Стандартная библиотека ввода/вывода
- Форматированные ввод и вывод
- printf, fprintf и sprintf
- scanf, fscanf и sscanf
- Другие потоковые функции
- Ошибки потока
- Потоки и дескрипторы файлов
- Ведение файлов и каталогов
- Просмотр каталогов
- Ошибки
- Файловая система procfs
- Более сложные приемы: fcntl и mmap
- Резюме
- Глава 4 Окружение Linux
- Аргументы программы
- Переменные окружения
- Время и дата
- Временные файлы
- Информация о пользователе
- Информация о компьютере
- Ведение системных журналов
- Ресурсы и ограничения
- Резюме
- Глава 5 Терминалы
- Чтение с терминала и запись на терминал
- Диалог с терминалом
- Драйвер терминала A и общий терминальный интерфейс
- Структура типа termios
- Режимы ввода
- Режимы вывода
- Режимы управления
- Локальные режимы
- Специальные управляющие символы
- Скорость терминала
- Дополнительные функции
- Вывод терминала
- Обнаружение нажатий клавиш
- Резюме
- Глава 6 Управление текстовыми экранами с помощью библиотеки curses
- Компиляция с библиотекой curses
- Терминология библиотеки curses и общие представления
- Экран
- Клавиатура
- Окна
- Вложенные окна
- Дополнительная клавиатура
- Применение цвета
- Панели
- Приложение, управляющее коллекцией компакт-дисков
- Начало нового приложения для работы с коллекцией компакт-дисков
- Взгляд на функцию main
- Формирование меню
- Управление базой данных
- Запросы к базе данных компакт-дисков
- Резюме
- Глава 7 Управление данными
- Управляемая память
- Простое выделение памяти
- Выделение огромных объемов памяти
- Неправильное обращение к памяти
- Указатель null
- Освобождение памяти
- Другие функции распределения памяти
- Блокировка файлов
- Создание файлов с блокировкой
- Блокировка участков файла
- Применение вызовов read и write при наличии блокировки
- Конкурирующие блокировки
- Другие команды блокировок
- Взаимоблокировки
- Базы данных
- Приложение для работы с коллекцией компакт-дисков
- Резюме
- Глава 8 MySQL
- Установка
- Администрирование MySQL
- Команды
- Создание пользователей и наделение их правами доступа
- Пароли
- Создание базы данных
- Типы данных
- Создание таблицы
- Графические средства
- Доступ к данным MySQL из программ на С
- Приложение для работы с базой данных компакт-дисков
- Резюме
- Глава 9 Средства разработки
- Проблемы применения многочисленных исходных файлов
- Команда make и make-файлы
- Синтаксис make-файлов
- Опции и параметры make
- Комментарии в make-файле
- Макросы в make-файле
- Множественные задания
- Встроенные правила
- Суффиксы и шаблоны правил
- Управление библиотеками с помощью make
- Более сложная тема: make-файлы и подкаталоги
- Версия GNU команд make и gcc
- Управление исходным кодом
- Написание интерактивного справочного руководства
- Распространение программного обеспечения
- RPM-пакеты
- Пакеты других форматов
- Среды разработки
- Резюме
- Глава 10 Отладка
- Типы ошибок
- Общие методы отладки
- Отладка с помощью gdb
- Запуск gdb
- Выполнение программы
- Трассировка стека
- Просмотр переменных
- Вывод листинга программы
- Установка точек останова
- Вставка исправлений с помощью отладчика
- Дополнительные сведения о gdb
- Дополнительные средства отладки
- Lint удаление ошибок из ваших программ
- Средства, отслеживающие вызовы функций
- Выполнение профилирования с помощью prof/gprof
- Проверки соблюдения условий
- Устранение ошибок использования памяти
- Резюме
- Глава 11 Процессы и сигналы
- Что такое процесс?
- Структура процесса
- Запуск новых процессов
- Замена образа процесса
- Дублирование образа процесса
- Ожидание процесса
- Процессы-зомби
- Перенаправление ввода и вывода
- Потоки
- Сигналы
- Резюме
- Глава 12 Потоки POSIX
- Что такое поток?
- Достоинства и недостатки потоков
- Первая программа с применением потоков
- Одновременное выполнение
- Синхронизация
- Атрибуты потока
- Отмена потока
- Потоки в изобилии
- Резюме
- Глава 13 Связь между процессами: каналы
- Что такое канал?
- Каналы процессов
- Отправка вывода в popen
- Вызов pipe
- Родительский и дочерний процессы
- Именованные каналы: FIFO
- Приложение для работы с базой данных компакт-дисков
- Цели
- Реализация
- Функции интерфейса клиента
- Интерфейс сервера server.c
- Канал
- Резюме, касающееся приложения
- Резюме
- Глава 14 Семафоры, совместно используемая память и очереди сообщений
- Семафоры
- Совместно используемая память
- Очереди сообщений
- Приложение для работы с базой данных компакт-дисков
- Команды состояния IPC
- Отображение состояния семафора
- Отображение состояния совместно используемой памяти
- Отображение состояния очереди сообщений
- Резюме
- Глава 15 Сокеты
- Что такое сокет?
- Соединения на базе сокетов
- Атрибуты сокета
- Создание сокета
- Адреса сокетов
- Именование сокета
- Создание очереди сокетов
- Прием запросов на соединение
- Запросы соединений
- Закрытие сокета
- Обмен данными с помощью сокетов
- Порядок байтов на компьютере и в сети
- Сетевая информация
- Множественные клиенты
- Дейтаграммы
- Резюме
- Глава 16 Программирование в GNOME с помощью GTK+
- Введение в систему X
- X-сервер
- X-клиент
- X-протокол
- Xlib
- Комплекты инструментов
- Оконные менеджеры
- Другие способы создания GUI — платформно-независимые оконные API
- Введение в GTK+
- Система типов GLib
- Система объектов GTK+
- Знакомство с GNOME
- Установка библиотек разработки GNOME/GTK+
- События, сигналы и обратные вызовы
- Виджеты упаковочных контейнеров
- Виджеты GTK+
- Виджеты GNOME
- Меню GNOME
- Диалоговые окна
- Приложение для работы с базой данных компакт-дисков
- Резюме
- Глава 17 Программирование в KDE с помощью Qt
- Введение в KDE и Qt
- Установка Qt
- Сигналы и слоты
- Виджеты Qt
- Диалоговые окна
- Создание меню и панелей инструментов с помощью KDE
- Приложение для работы с базой данных компакт-дисков с использованием KDE/Qt
- Резюме
- Глава 18 Стандарты Linux
- Язык программирования С
- Интерфейсы и Linux Standards Base
- Стандарт устройства файловой системы
- Что еще почитать о стандартах?
- Резюме
- Сноски из книги
- Содержание книги
- Популярные страницы
Оглавление статьи/книги
- Об авторах
- Благодарности
- Предисловие
- Введение
- Глава 1 Приступая к работе
- Глава 2 Программирование средствами командной оболочки
- Глава 3 Работа с файлами
- Глава 4 Окружение Linux
- Глава 5 Терминалы
- Глава 6 Управление текстовыми экранами с помощью библиотеки curses
- Глава 7 Управление данными
- Глава 8 MySQL
- Глава 9 Средства разработки
- Глава 10 Отладка
- Глава 11 Процессы и сигналы
- Глава 12 Потоки POSIX
- Глава 13 Связь между процессами: каналы
- Глава 14 Семафоры, совместно используемая память и очереди сообщений
- Глава 15 Сокеты
- Глава 16 Программирование в GNOME с помощью GTK+
- Глава 17 Программирование в KDE с помощью Qt
- Глава 18 Стандарты Linux
- Сноски из книги
- Содержание книги
- Популярные страницы
Похожие страницы
- 2.10. Основы конфигурирования
- Основы программирования в Linux
- 8.2. Языки программирования Виды программирований
- InterBase Classic Server под Linux
- Каталог BIN в InterBase Classic Server для Linux
- ГЛАВА 1 Основы построения баз данных
- Язык программирования Python
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- 1 Введение в Linux
- 4 Файловая система Linux
- Глава 1 Основы графологии
- Часть I Основы Ubuntu