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

Интервал:

Закладка:

Сделать

157

Атака на программное обеспечение приложений сейчас является основным способом распространения вирусов.

158

Системные квоты предотвращают возможность успешности такой атаки.

159

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

160

ВООТР — это предшественник DHCP, позволяющий компьютерам автоматически узнавать свои IP-адреса при запуске сетевых интерфейсов.

161

Функция alloca()не является стандартным средством языка С, однако компилятор gcc предоставляет alloca()в большинстве поддерживаемых операционных систем. В более старых версиях gcc (до версии 3.3) alloca()не всегда должным образом взаимодействовала с массивами динамических размеров (другое расширение GNU), поэтому примите во внимание, что использовать нужно только одну из версий.

162

В некоторых устаревших версиях библиотеки С вместо этого возвращается -1 (если строка не помещается). Старая версия библиотеки С уже не поддерживается и не используется в защищенных программах, однако на man-странице по функции snprintf()демонстрируется код, обрабатывающий оба варианта.

163

К сожалению, функция clearenv()не очень хорошо стандартизирована. Она входит в последние версии POSIX, однако она была выброшена из стандарта Single Unix Standard и не доступна во всех системах типа Unix. Если вам необходимо поддерживать операционную систему, не включающую эту переменную, установите environ=NULL;.

164

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

165

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

166

Еще одним способом закрытия всех файлов, открытых программой, является прохождение через каталог файловой системы процесса /proc, в котором перечислены все открытые файлы, и закрытие каждого из них. Каталог /proc/PID/fd(где PID—это pid текущего процесса) содержит символическую ссылку для каждого файлового дескриптора, открытого процессом. Имя каждой символической ссылки представляет собой файловый дескриптор, которому она соответствует. Считывая содержимое каталога, программа легко может закрыть все файловые дескрипторы, которые больше не нужны.

167

Один из авторов этой книги разработал набор инструментальных средств newtдля управления окнами на высоком уровне на основе S-Lang; этот набор входит в состав большинства распространяемых дистрибутивов Linux.

168

Как это описано в базе данных terminfo.

169

Ошибка возникает, если получение сигнала происходит в тот момент, когда S-Lang ожидает нажатие клавиши.

170

Помните, что обновление физического терминала производится только с помощью функции SLsmg_refresh().

171

Со временем эта цифра может возрасти, однако маловероятно, что это когда-нибудь будет необходимо.

172

В частности, в некоторых системах это может привести к мерцанию текста.

173

Библиотека Berkley db была существенно расширена, и сейчас включает реализацию B-деревьев и весь спектр работы с транзакциями.

174

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

175

Инвертированные индексы представляют собой структуры данных, предназначенные для полнотекстового поиска.

176

В отличие от некоторых библиотек баз данных, использующих множество файлов с расширениями .pagи .dir, библиотека Depotиспользует один файл.

177

Хорошее описание хеш-таблиц можно найти в [11].

178

Это значение можно изменить только путем оптимизации базы данных с помощью функции dpoptimize(), описание которой можно найти на Web-сайте qdbm.

179

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

180

Вернее, они возвращаются в том порядке, в котором производятся ссылки на элементы из хеш-области. Хотя это и есть порядок, он является совершенно бесполезным.

181

Библиотека glibcтакже предлагает библиотеку argp, с помощью которой можно осуществлять альтернативный вариант проверки синтаксиса параметров.

182

Те, кто знаком с функцией getopt(), заметят, что argInfoявляется единственным обязательным членом структуры struct poptOption, который отличается от члена в таблице аргументов getoptlong(). Благодаря этому сходству существенно упрощается переход от getoptlong()к popt.

183

Полный исходный код для данного примера можно найти в главе 23.

184

Распространенной ошибкой является определение массива argvкак char **, а не как const char **, что является правильным вариантом. Благодаря прототипу функции poptGetContext()компилятор генерирует предупреждающее сообщение, если массив argvбудет определен неправильно.

185

Он также добавляет параметр -?, который соответствует --help.

186

Макрос POPT_AUTOHELPрасширяется для включения вложенной таблицы параметров, определяющей новые параметры и обратный вызов, при котором реализуются эти параметры.

187

Часто в подобных случаях удобно использовать POPT_CONTEXT_KEEP_FIRST.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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