Язык Си в системе Unix, Богатырев А.

Название: Язык Си в системе Unix.

Автор: Богатырев А.

1996.

    В этой книге вы найдете ряд задач, примеров, алгоритмов, советов и стилистических замечаний по использованию языка программирования "C" (Си) в среде операционной системы UNIX.Здесь собраны этюды разной сложности и "штрихи к портрету" языка Си. Также описаны различные "подводные камни" на которых нередко терпят крушение новички в Си. В этом смысле эту книгу можно местами назвать "Как не надо программировать на Си".

Язык Си в системе Unix - Богатырев А.


В большинстве случаев в качестве платформы используется персональный компьютер IBM PC с какой-либо системой UNIX, либо SPARCstation 20 с системой Solaris 2 (тоже UNIX svr4), но многие примеры без каких-либо изменений (либо с минимумом таковых) могут быть перенесены в среду MS DOS, либо на другой тип машины с системой UNIX.

    Это ваша ВТОРАЯ книга по Си. Эта книга не учебник, а хрестоматия к учебнику. Она не является ни систематическим курсом по Си, ни справочником по нему, и предназначена не для одноразового последовательного прочтения, а для чтения в несколько проходов на разных этапах вашей "зрелости".Поэтому читать ее следует вместе с "настоящим" учебником по Си, среди которых наиболее известна книга Кернигана и Ритчи.

    Эта книга - не ПОСЛЕДНЯЯ ваша книга по Си. Во-первых потому, что кое-что в языке все же меняется со временем, хотя и настал час, когда стандарт на язык Си наконец принят.Но появился язык C++, который развивается довольно динамично. Еще есть Objective-C. Во-вторых потому, что есть библиотеки и системные вызовы, которые развиваются вслед за развитием UNIX и других операционных систем. Следующими вашими (настольными) книгами должны стать "Справочное руководство": man2 (по системным вызовам), man3 (по библиотечным функциям).

Оглавление.
0.Напутствие в качестве вступления. 2
1.Простые программы и алгоритмы. Сюрпризы, советы. 4
2.Массивы, строки, указатели. 70
3.Мобильность и машинная зависимость программ. Проблемы с русскими буквами. 106
4.Работа с файлами. 118
5.Структуры данных. 148
6.Системные вызовы и взаимодействие с UNIX. 161
6.1.Файлы и каталоги. 163
6.2.Время в UNIX. 171
6.3.Свободное место на диске. 179
6.4.Сигналы. 182

6.5.Жизнь процессов. 189
6.6.Трубы и FIFO-файлы. 198
6.7.Нелокальный переход. 200
6.8.Хозяин файла, процесса, и проверка привилегий. 202
6.9.Блокировка доступа к файлам. 206
6.10.Файлы устройств. 210
6.11.Мультиплексирование ввода-вывода. 222
6.12.Простой интерпретатор команд. 233
7.Текстовая обработка. 243
8.Экранные библиотеки и работа с видеопамятью. 299
9.Приложения. 338

9.1.Таблица приоритетов операций языка C++. 338
9.2.Правила преобразований типов. 338
9.3.Таблица шестнадцатеричных чисел (HEX). 339
9.4.Таблица степеней двойки. 339
9.5.Двоичный код: внутреннее представление целых чисел. 340
10.Примеры. 341

Пример 1.Размен монет.
Пример 2.Подсчет букв в файле.
Пример 3.Центрирование строк.
Пример 4.Разметка текста для nroff.
Пример 5.Инвертирование порядка слов в строках.
Пример 6.Пузырьковая сортировка.
Пример 7.Хэш-таблица.
Пример 8.Простая база данных.
Пример 9.Вставка/удаление строк в файл.
Пример 10.Безопасный free, позволяющий обращения к автоматическим переменным.

Пример 11.Поимка ошибок при работе с динамической памятью.
Пример 12.Копирование/перемещение файла.
Пример 13.Обход поддерева каталогов в MS DOS при помощи chdir.
Пример 14.Работа с сигналами.
Пример 15.Управление скоростью обмена через линию.
Пример 16.Просмотр файлов в окнах.
Пример 17.Работа с иерархией окон в curses. Часть проекта uxcom.
Пример 18.Поддержка содержимого каталога. Часть проекта uxcom.
Пример 19.Роллируемое меню. Часть проекта uxcom.
Пример 20.Выбор в строке-меню. Часть проекта uxcom.

Пример 21.Редактор строки. Часть проекта uxcom.
Пример 22.Выбор в прямоугольной таблице. Часть проекта uxcom.
Пример 23.UNIX commander - простой визуальный Шелл. Головной модуль проекта uxcom.
Пример 24.Общение двух процессов через "трубу".
Пример 25.Общение процессов через FIFO-файл.
Пример 26.Общение процессов через общую память и семафоры.
Пример 27.Протоколирование работы программы при помощи псевдотерминала и процессов.
Пример 28.Оценка фрагментированности файловой системы.
Пример 29.Восстановление удаленного файла в BSD-2.9.
Пример 30.Копирование файлов из MS DOS в UNIX.

Пример 31.Программа, печатающая свой собственный текст.
Пример 32.Форматирование текста Си-программы.

1.11. Треугольник из звездочек. 6
1.34. Простые числа. 10
1.36. Целочисленный квадратный корень. 12
1.39. Вычисление интеграла по Симпсону. 13
1.49. Сортировка Шелла. 19
1.50. Быстрая сортировка. 20
1.67. Функция чтения строки. 26
1.88. Перестановки элементов. 35
1.117. Схема Горнера. 50
1.137. Системная функция qsort - формат вызова. 58
1.146. Процесс компиляции программ. 66

2.58. Функция bcopy. 92
2.59. Функция strdup. 95
2.61. Упрощенный аналог функции printf. 96
3.9. ctype. 109

3.12. Программа транслитерации: tr. 112
3.16. Функция записи трассировки (отладочных выдач) в файл. 114
3.18. Условная компиляция: #ifdef. 114
4.39. Быстрый доступ к строкам файла. 139
4.45. Эмуляция основ библиотеки STDIO, по мотивам 4.2 BSD. 142

5.12. Отсортированный список слов. 155
5.16. Структуры с полями переменного размера. 157
5.17. Список со "старением". 159
6.1.1. Определение типа файла. 163
6.1.3. Выдача неотсортированного содержимого каталога (ls). 165
6.1.5. Рекурсивный обход каталогов и подкаталогов. 166
6.2.9. Функция задержки в микросекундах. 173
6.4.3. Функция sleep. 187
6.10.1. Определение текущего каталога: функция getwd. 217
6.10.2. Канонизация полного имени файла. 221
6.11.1. Мультиплексирование ввода из нескольких файлов. 223
6.11.2. Программа script. 225

7.12. Программа uniq. 244
7.14. Расширение табуляций в пробелы, функция untab. 245
7.15. Функция tabify. 245
7.25. Поиск методом половинного деления. 247
7.31. Программа печати в две полосы. 251
7.33. Инвертирование порядка строк в файле. 255
7.34. Перенос неразбиваемых блоков текста. 257
7.36. Двоичная сортировка строк при помощи дерева. 259
7.41. Функция match. 266
7.43. Функция контекстной замены по регулярному выражению. 270
7.44. Алгоритм быстрого поиска подстроки в строке. 272
7.52. Коррекция правописания. 276
7.67. Калькулятор-1. 283
7.68. Калькулятор-2. 289
8.1. Осыпающиеся буквы. 301
8.13. Использование библиотеки termcap. 309
8.17. Разбор ESC-последовательностей с клавиатуры. 320



Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Язык Си в системе Unix, Богатырев А. - fileskachat.com, быстрое и бесплатное скачивание.

Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу



Скачать книгу - Язык Си в системе Unix - Богатырев А. - depositfiles

Скачать книгу - Язык Си в системе Unix - Богатырев А. - letitbit
Дата публикации:





Теги: :: :: ::


 


 

Книги, учебники, обучение по разделам




Не нашёл? Найди:





2024-12-22 12:36:05