ΠΡΠΈΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²; Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ².
19.2.2.3. Π£ΠΏΠΎΡΠ½ΠΎ ΠΈΡΠΈΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅Π³ΠΊΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΠΈΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡΡΡ, Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±Π΅Π· ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΡ Π±ΡΠΊΠ²Ρ ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ β ΡΡΠΎ Π²Π½ΠΎΡΠΈΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Π² Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Π½ΠΎΠ²ΠΈΡΠΎΠΊ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³Π° ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠΌΠ½Π΅Π΅.
ΠΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΈ, ΡΠ±ΠΈΠ²Π°ΡΡ Π»ΡΠ΄Π΅ΠΉ Ρ ΡΠΎΠ»ΠΊΡ. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΠΌΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². ΠΠ»Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ° ibiblio <http://metalab.unc.edu/pub/Linux> ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ Freshmeat <http://www.freshmeat.net>. Π₯ΠΎΡΠΎΡΠΈΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° SourceForge <http://www.sourceforge.net>.
19.2.3. Π₯ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠ΅Π³ΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊ ΠΊ ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°.
19.2.3.1. ΠΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΠΉΡΠ΅ΡΡ Π½Π° ΡΠ°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄
ΠΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΠΉΡΠ΅ΡΡ Π½Π° ΡΠ°ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎ. Π ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π΅ΠΏΡΠΈΠΊΡΡΡΠΎΠΉ Π³ΡΡΠ±ΠΎΡΡΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
19.2.3.2. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π²ΡΠΎΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ GNU
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠ°ΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ΅Π±Π΅ ΠΊΡΠΏΠΈΡΡ Π²ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π½ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ: Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ make-ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ², ΠΎΠΆΠΈΠ΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ configure; make; make install ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΡΡΡΡ ΡΠ±ΠΎΡΠΊΡ, ΠΈ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊ. ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ <http://seul.org/docs/autotut>.
ΠΡΠ΅Π»ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ autoconf ΠΈ autoheader. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° automake, ΠΊΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, Π΅ΡΠ΅ Π΄ΠΎ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ 2003 Π³ΠΎΠ΄Π° Π±ΡΠ»Π° Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Makefile.in. Π ΡΡΠ°ΡΡΡΡ, automake ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π² Π½Π°Π±ΠΎΡΠ΅ Π°Π²ΡΠΎΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ, Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ, ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±ΡΠ΅ΡΠ΅Π½ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΅ΠΉ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈΠ»ΠΈΡΡ autoconf Π½Π΅Π»ΡΠ·Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ. ΠΡΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ², ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ POSIX, ΠΈ Π²ΠΎΠ·Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΡ ΠΎΠΏΡΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ifdefs-Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ², Π° Π΅ΡΠ΅ Π»ΡΡΡΠ΅ β Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΈΡ Π²ΠΎΠΎΠ±ΡΠ΅.
19.2.3.3. Π’Π΅ΡΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ
Π₯ΠΎΡΠΎΡΠΈΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΡΠ°, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°.
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠΉ Π³ΡΡΠΏΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠΎΠΎΡΡΡΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΌΠ°ΡΠΈΠ½, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π΄Π΅ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π»Π° ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π₯ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»ΡΡΡΠ°Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ Π² ΠΊΠΎΠ΄Π΅, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ ΠΊΠΎΠ΄Π° Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make test.
19.2.3.4. ΠΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ
ΠΠΎΠ΄ "ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ" (sanity check) Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΊΠ»ΠΎΠ½Π΅Π½ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Ρ Π½ΠΈΠΌΠΈ Π±ΠΎΡΠΎΡΡΡΡ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° C/C++ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ GCC ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -Wall ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π²ΡΠ΅ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°ΠΌΠΈ β ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ°ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ 64-Π±ΠΈΡΠΎΠ²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ. ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° 64-Π±ΠΈΡΠΎΠ²ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Unix-ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ lint Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΡΡ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Electric Fence ΠΈ Valgrind β Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ»Ρ Python-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° PyChecker <http://sourceforge.net/projects/pychecker>. ΠΠ½Π° ΡΠ°ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Perl ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ° -Ρ (ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ -T, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ -w ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ "use strict". (ΠΠ°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Perl.)
19.2.3.5. ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ README-ΡΠ°ΠΉΠ»Π°Ρ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ
ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, README-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π‘ΡΡΠΎΠΉ ΠΊΠΎΠ΄, Ρ.Π΅. ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ΅ΠΊΡΡΠ°Ρ README-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΊ ΠΌΡΡΠ»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΈ Π±Π΅ΡΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ.
19.2.3.6. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° C/C++
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΠ»Π½ΡΠ΅ ANSI-ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²ΡΡΠ²ΠΈΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. Π‘ΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π² ΡΡΠΈΠ»Π΅ K&R β Π΄ΡΠ΅Π²Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΠΉΡΠ΅ΡΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GCC-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -pipe ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ½ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΡΠΆΠΈΠ΅ ΠΏΠΎΡΡΡ Π² Π½Π΅-Linux ΠΈ He-GCC-ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ os). ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈ API-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Π£ΡΠΎΠ²Π½ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. Π§Π°ΡΡΠΎ Π½ΠΈΠΊΡΠΎ ΠΈΠ· ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π΅ Π·Π½Π°Π΅Ρ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΡΠΎΡΠ½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΈ Π½ΠΈΠΊΡΠΎ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌ ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ). Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ, Π·Π½Π°ΡΡΠ΅ΠΌΡ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠΎΠ²Π½Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ.
Π£ΡΠΎΠ²Π½ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠΎΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅Π΄ΠΊΠΎ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ mmap(2) ΠΈΠ»ΠΈ stat(2), Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅Π²Π΅ΡΠ½ΠΎ. Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ __file_exists Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° stat(2)) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΡΠΏΡΠΎΡΠ°Ρ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.