Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 164

Автор ΠΡ€Π½ΠΎΠ»ΡŒΠ΄ Роббинс

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 β€” ΠŸΡ€ΠΈΠΌΠ΅Ρ‡. Π°Π²Ρ‚ΠΎΡ€Π°.