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 — Примеч. автора.
(обратно)
194
Это — неофициальный перевод Лицензии Caldera для старой Unix на русский язык. Он не был опубликован Caldera International, Inc и не может легально определять условия распространения программных продуктов, использующих Лицензию Caldera — только оригинальный английский текст Лицензии Caldera для старой Unix имеет законную силу.
(обратно)
195
Это — неофициальный перевал Общедоступной лицензии GNU на русский язык. Он не был опубликован Фондом Свободного Программного Обеспечения и не может легально определять условия распространения программных продуктов, использующих Общедоступную лицензию GNU — только оригинальный английский текст Общедоступной лицензии GNU имеет законную силу.
(обратно)