Категории
Самые читаемые
PochitayKnigi » Компьютеры и Интернет » Программное обеспечение » Linux программирование в примерах - Арнольд Роббинс

Linux программирование в примерах - Арнольд Роббинс

Читать онлайн Linux программирование в примерах - Арнольд Роббинс

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
Перейти на страницу:

143

Это устанавливается механизмом Autoconf и Automake. Autoconf и Automake являются мощными программными наборами, дающими возможность поддержки широкого круга Unix-систем систематическим образом — Примеч. автора.

144

Хотя американцы часто ссылаются на эры определенных президентов, они не являются частью национального календаря в том же смысле, как в Японии до Второй мировой войны или в докоммунистическом Китае — Примеч. автора.

145

Подробности приведены в документации GNU gettext. Здесь мы концентрируемся на потребностях разработчика, а не переводчика — Примеч. автора.

146

Этот макрос обычно определяется автоматически программой configure, либо в специальном заголовке, либо в командной строке компилятора configure создается с помощью Autoconf и Automake — Примеч. автора.

147

Pig — свинья, поросенок (англ.) — Примеч. перев.

148

Мы тщетно потратили 30 или 45 минут, пытаясь использовать каталог piglat/LC_MESSAGES и установку LC_ALL=piglat' без всякого успеха, пока не выяснили это — Примеч. автора.

149

ftp://ftp.gnu.org/gnu/gettext — Примеч. автора.

150

http://www.unicode.org — Примеч. автора.

151

GNU/Linux ее поддерживает, но лишь для совместимости — Примеч. автора.

152

Справочная страница GNU/Linux fcntl(3) указывает, что этих сведений может быть недостаточно, процесс может находиться на другой машине! При блокировках по сети есть и другие проблемы, в общем, использование блокировки в файловых системах, смонтированных для удаленных компьютеров, не является удачной мыслью — Примеч. автора.

153

В системе GNU/Linux lockf() реализована в виде «оболочки» вокруг fcntl() — Примеч. автора.

154

Тупик (deadlock) является ситуацией, при которой оба процесса блокируются, причем каждый из них ждёт, пока другой освободит определенный ресурс — Примеч. автора.

155

Удачно, что название flock() отличается от lockf(), поскольку их семантика различна. Это также страшно сбивает с толку. Держите свое руководство под рукой. — Примеч. автора.

156

В справочной странице gettimeofday(2) документирована соответствующая функция settimeofday() для использования суперпользователем (root) для установки времени дня всей системы — Примеч. автора.

157

К сожалению, по-видимому, в настоящее время нет стандарта для названий членов struct stat, что делает такую операцию непереносимой — Примеч. автора.

158

Корректное выполнение профилировки нетривиальная задача, если вы думаете о написании интерпретатора, стоит сначала провести свои исследования — Примеч. автора.

159

В голову приходят образы, как маленькие двоичные структуры данных сидят друг рядом с другом за чаем и пирожными. По крайней мере, такое бывает, если вы проводите слишком много времени перед своим компьютером. — Примеч. автора.

160

Этот вывод для часового пояса U.S. Eastern Time zone — Примеч. автора.

161

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

162

Мы говорим об оригинальном BSD dbx. В течение десяти лет мы использовали исключительно GDB — Примеч. автора.

163

ddd поставляется со многими системами GNU/Linux. Исходный код доступен на FTP-сайте проекта GNU ddd (ftp://ftp.gnu.org/gnu/ddd/) — Примеч. автора.

164

http.//sources.redhat.com/insight/ — Примеч. автора.

165

ftp://ftp.gnu.org/gnu/gdb/ — Примеч. автора.

166

http://www.gnu.org — Примеч. автора.

167

Если вы хотите изменить такое поведение, см. sysctl(8) — Примеч. автора.

168

Примерно 213×275 мм — Примеч. перев.

169

Bjarne Stroustrup, создатель С++, настойчиво работал над тем, чтобы сделать использование препроцессора С совершенно ненужным в С++. По нашему мнению, он не вполне добился успеха: #include нужен до сих пор, но не обычные макросы. Для С препроцессор остается ценным и инструментом, но он должен использоваться благоразумно — Примеч. автора.

170

Серьезно! Часто люди пропускают через gawk мегабайты данных. Помните, никаких произвольных ограничений! — Примеч. автора.

171

Мы унаследовали эту схему. В общем, она работает, но все же есть проблемы. Целью данного раздела является передача накопленного нами в ходе работы с объединениями опыта — Примеч. автора.

172

Опять-таки, GCC 3.1 или более новый и GDB 5 дают возможность непосредственного использования макросов, но только лишь если вы используете их совместно, с определенными опциями. Это было описано ранее в разделе 15.4.1.2 «По возможности избегайте макросов с выражениями». — Примеч. автора.

173

Эта часть кода была с тех пор пересмотрена, поэтому там больше нет этих строк из примера. — Примеч. автора.

174

Переписав код управления буфером! — Примеч. автора.

175

ftp://ftp.ninemoons.corn/pub/dbug/ — Примеч. автора.

176

В C99, который допускает смешивание объявлений переменных с исполняемым кодом, это составляет меньшую проблему, но помните, что этот пакет был разработан для K&R С — Примеч. автора.

177

Хотя нам следовало бы усвоить свой урок после первой компании, мы перешли ко второй. С тех пор, как мы это выяснили, мы обычно избегаем начинающие компании. Ваша выгода, конечно, может меняться — Примеч. автора.

178

ftp://ftp.perens.com/pub/ElectricFence — Примеч. автора.

179

GDB также позволяет определить переменную окружения LD_PRELOAD: set environment LD_PRELOAD=PATH_TO_YOUR_LIBRARY — Примеч. науч. ред.

180

http://www.dmalloc.com — Примеч. автора.

181

Все в большей степени для разработки высококачественных продуктов используется также GNU/Linux! — Примеч. автора.

182

http://www.winehq.com — Примеч. автора.

183

http://valgrind.kde.org — Примеч. автора.

184

http://www.linuxjournal.com/article.php?sid=6059 — Примеч. автора.

185

http://www.linuxjournal.com/article.php?sid=6556 — Примеч. автора.

186

http://www.splint.org — Примеч. автора.

187

http://www.debuggingrules.com — Примеч. автора.

188

http://www.amacombooks.org — Примеч. автора.

189

http://www.cs.bell-labs.com/cm/cs/pearls/ — Примеч. автора.

190

Русский перевод Брайан Керниган, Роб Пайк. UNIX: Программное окружение. Санкт-Петербург. Символ-Плюс, 2003 — Примеч. науч. ред.

191

Это приложение приведено в буквальном виде с веб-страницы, указанной вначале — Примеч. автора.

192

http://www1.neweb.ne.jp/wa/yamdas/column/technique/21-daysj.html — Примеч. автора.

193

http://loro.sf.net/notes/21-dias.html — Примеч. автора.

Перейти на страницу:
Тут вы можете бесплатно читать книгу Linux программирование в примерах - Арнольд Роббинс.
Комментарии