Ваше Имя:
Пароль:

+ Регистрация



Майкл К. Джонсон, Эрик В. Троан - Разработка приложений в среде Linux. Программирование для Linux
Категория: C, Книги | Добавил: root, 20 июля 2007 | Просмотров: 13012
Разработка приложений в среде Linux. Программирование для LinuxМайкл К. Джонсон, Эрик В. Троан - Разработка приложений в среде Linux. Программирование для Linux

Издательство: Вильямс
Серия или Выпуск: Системное программирование
ISBN: 5-8459-1143-8
Год: 2007
Страниц: 544

Формат: DJVU
Размер: 12 Mb
 

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

Содержание:
Часть I. Начало работы
Глава 1. История создания Linux
Глава 2. Лицензии и авторские права
Глава 3. Онлайновая системная документация

Часть II. Инструментальные средства и среда разработки
Глава 4. Инструментальные средства разработки
Глава 5. Опции и расширения gcc
Глава 6. Библиотека GNU C
Глава 7. Средства отладки использования памяти
Глава 8. Создание и использование библиотек
Глава 9. Системное окружение Linux

Часть III. Системное программирование
Глава 10. Модель процессов
Глава 11. Простое управление файлами
Глава 12. Обработка сигналов
Глава 13. Расширенная обработка файлов
Глава 14. Операции с каталогами
Глава 15. Управление заданиями
Глава 16. Терминалы и псевдотерминалы
Глава 17. Работа в сети с помощью сокетов
Глава 18. Время
Глава 19. Случайные числа
Глава 20. Программирование виртуальных консолей
Глава 21. Консоль Linux
Глава 22. Написание защищенных программ

Часть IV. Библиотеки для разработки
Глава 23. Сопоставление строк
Глава 24. Управление терминалами с помощью библиотеки SLang
Глава 25. Библиотека хешированных баз данных
Глава 26. Синтаксический анализ параметров командной строки
Глава 27. Динамическая загрузка во время выполнения
Глава 28. Идентификация и аутентификация пользователей

Ссылки для ознакомления:
ifolder
ifolder
spbland
rapidshare



Версия для печати

Комментариев: 0 +
Уважаемый посетитель, вы вошли на сайт как незарегистрированный пользователь. Вы можите зарегистрироваться, либо войти на сайт под своим именем, чтобы добавлять комментарии.

Другие статьи в этой категории
Кристиан Нейгел, Билл Ивьен, Д. Глинн, Уотсон, Морган Скиннер - C# 4.0 и платформа .NET 4 для профессионалов

Издательство: Вильямс
ISBN: 978-5-8459-1656-3
Год: 2010
Страниц: 1440


Формат: DJVU + CD
Размер: 65 Mb
 
Программирование. Принципы и практика использования C++Бьерн Страуструп - Программирование. Принципы и практика использования C++

Издательство: Вильямс
ISBN: 978-5-8459-1705-8
Год: 2011
Страниц: 1246


Формат: DJVU
Размер: 20 Mb
 
#include <stdlib.h>
int wctomb(char *out, wchar_t in);
Функция wctomb() преобразует двухбайтовый символ, содержащийся в параметре in, в его многобайтовый эквивалент и помещает результат в массив, адресуемый параметром out. Массив, адресуемый параметром out, должен иметь длину не меньше MB_CUR_MAX символов.

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

Если параметр out равен нулю, функция wctomb() возвращает ненулевое значение в случае, когда многобайтовый символ имеет кодировку, зависящую от территориально-языковых особенностей. В противном случае возвращается нуль.
#include <stdlib.h>
size_t wcstombs(char *out, const wchar_t *in, size_t size);

Функция wcstombs() преобразует массив двухбайтовых символов, адресуемый параметром-указателем in, в его многобайтовый эквивалент и помещает результат в массив, адресуемый параметром out. Преобразованию подлежат только первые size символов. Процесс преобразования прекращается раньше, если будет обнаружен символ конца строки ('0').

В версии С99 к параметрам out и in применен квалификатор restrict.

При успешном выполнении функция wcstombs() возвращает количество байтов, помещенных в массив out. При возникновении ошибки возвращается значение -1.
#include <stdarg.h>
type va_arg(va_list argptr, type);
void va_copy(va_list target, va_list source);
void va_end(va_list argptr);
void va_start(va_list argptr, last_parm);
Макрос va_copy() добавлен в версии С99.

Для передачи функции переменного числа аргументов совместно используются макросы va_arg, va_start и va_end. Самым распространенным примером функции, которая принимает переменное число аргументов, является функция printf(). Тип va_list определен в заголовке .

Общая процедура создания функции, которая может принимать переменное количество аргументов, такова:

Функция должна иметь по крайней мере один известный параметр (может и больше), указываемый до переменного списка параметров. (Такие параметры называются также обязательными, а параметры, следующие за ними — необязательными.) Крайний правый известный параметр называется last_parm. (Он предшествует первому необязательному параметру.) Его имя используется в качестве второго параметра в обращении к макросу va_start(). Чтобы получить доступ к любому дополнительному параметру, сначала необходимо инициализировать указатель-аргумент argptr, обратившись к макросу va_start(). (Иными словами, необходимо выполнить вызов va_start(argptr, <имя last_parm>).) После этого значения параметров возвращаются в результате вызова макроса va_arg(). В качестве второго аргумента этого макроса (соответствующего параметру type), нужно указать тип следующего параметра. Наконец, после прочтения всех параметров до возвращения из функции необходимо вызвать макрос va_end(), чтобы гарантировать корректное восстановление стека. Если макрос va_end() вызван не будет, высока вероятность аварийного отказа программы.

Макрос va_copy() копирует список аргументов, обозначенный параметром target, в объект, обозначенный параметром source.
#include <stdlib.h>
int system(const char *str);
Функция system() передает строку, адресуемую параметром str, в качестве команды для командного процессора операционной системы.

Если функция system() вызывается с нулевым указателем, она возвращает ненулевое значение при условии доступности командного процессора и нуль в противном случае. (Программы, выполняемые в специальных средах, могут не иметь доступа к командному процессору.) Значение, возвращаемое функцией system(), определяется конкретной реализацией. Но обычно возвращается нуль при успешном выполнении команды, а ненулевое значение кода возврата означает наличие ошибки.
#include <stdlib.h>
unsigned long long int strtoull(const char *restrict start,
char **restrict end, int radix);
Функция strtoull() добавлена в версии С99.

Функция strtoull() аналогична функции strtoul() за исключением того, что она возвращает значение типа unsigned long long int. Если результат не может быть представлен как значение типа unsigned long long int, возвращается значение ULLONG_MAX, а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода результата за пределы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль.