(gdb) <b>run</b>Starting program: /home/neil/BLP4e/chapter10/debug4Breakpoint 2, sortΒ (a=0x804a040, n=5) at debug4.c:3030 /* 30 */Β Β n--;Breakpoint 2, sortΒ (a=0x804a040, n=5)Β at debug4.c:3030 /* 30 */Β Β n--;Breakpoint 2,Β sortΒ (a=0x804a040, n=5) at debug4.c:3030 /* 30 */Β Β n--;Breakpoint 2,Β sortΒ (a=0x804a040, n=5) at debug4.c:3030 /* 30 */Β Β n--;Breakpoint 2, sort (a=0x804a040, n=5) at debug4.c:3030 /* 30 */Β Β n--;array[0] = {alex,Β 1}array[1] = {john,Β 2}array[2] = {bill,Β 3}array[3] = {neil,Β 4}array[4] = {rick,Β 5}Program exited with code 025.(gdb)ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅Π΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ gdb
ΠΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU β ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΡΠ½Π°Π±ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ gdb Π΄Π»Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π¦ΠΠ£; ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, gdb ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π΅Π΄ΠΈΡΡ (watch) Π·Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΏΠΎΡΠ΅ΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ gdb ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅.
Π’ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΡΠΎΡ ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ gdb ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²Π΅Π΄ΡΡΠΈΠΉ ΡΠ΅Π±Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅Π³ΠΎ. ΠΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠΊΠΈ
gcc -O -gΠΡΠ»Π°Π΄ΡΠΈΠΊ gdb ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΡ ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π‘ΠΈΡΡΠ΅ΠΌΡ Linux ΠΈ UNIX ΠΏΡΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π°ΠΌΠΏ ΡΠ΄ΡΠ° Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ core. ΠΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ±ΠΎΡ. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ gdb Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π²ΡΠ·Π²Π°Π²ΡΠ΅Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΌ. Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΊ gdb.
ΠΡΠ»Π°Π΄ΡΠΈΠΊ gdb Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌ UNIX. ΠΡ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΡΡΠΈΡΡ Π΅Π³ΠΎ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ gdb, Linux-ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΠ½Π°Π±ΠΆΠ°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ± ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ctags, cxref ΠΈ cflow ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π²ΡΠ·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΈΡ ΠΌΠ΅ΡΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ prof ΠΈ gprof ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΡΠ»ΠΎ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅,
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΈ ΠΈΡ Π²ΡΠ²ΠΎΠ΄. ΠΠ΅ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Ρ ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ· ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² Π΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
Lint ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ· Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ UNIX ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈ ΡΡΠΈΠ»ΠΈΡΡ
lintΠΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ C ΠΌΠΎΠ³ΡΡ ΡΠ΅Π½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. Π£ΡΠΈΠ»ΠΈΡΡ
lintlintsplintsplintlintsplintΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ (debug0.c) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΠΆΠ΅ ΠΎΡΠ»Π°Π΄ΠΈΠ»ΠΈ.
/*Β 1 */ typedef struct {/*Β 2 */Β char *data;/*Β 3 */Β int key;/*Β 4 */ } item;/*Β 5 *//*Β 6 */ item array[j] = {/*Β 7 */Β {"bill", 3},/*Β 8 */Β {"neil", 4},/*Β 9 */Β {"john", 2},/* 10 */Β {"rick", 5},/* 11 */Β {"alex", 1},/* 12 */ };/* 13 *//* 14 */ sort(a, n)/* 15 */Β item *a;/* 16 */ {