β ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΏΡΠΈΡΠ΅Π΄ΡΠΈΠΌ Π² ΡΡΠ΅Π΄Ρ UNIX ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Win32. Π’Π°ΠΊΠΎΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΎΠ±ΡΠΈΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ°Ρ , ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² Linux-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ- ΠΠΌΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΡΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Linux.
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² GNU/Linux ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·Π»Π°Π³Π°Π» ΡΠ°ΠΌΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ 1.5, "ΠΠΎΠΈΡΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ", ΡΠΊΠ°Π·Π°Π½ΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΊΠ½ΠΈΠ³Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ ΠΈ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ·ΡΠΊΠ° Π‘. ΠΡΠΎΡ ΡΠ·ΡΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ GNU/Linux ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅. Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ΄ΡΠ° Linux Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Π‘.
ΠΠ·Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠ°Π²Π½ΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° C++, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ° Π‘ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ° Π‘ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ "ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅Π½ΠΈΡ" Π² ΡΡΠ΅Π΄Π΅ GNU/Linux.
Π’Π΅, ΠΊΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ Π² UNIX, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (open(), read(), stat() ΠΈ Ρ.Π΄.). ΠΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Π‘ (fopen(), fprintf(), fscanf() ΠΈ Π΄Ρ.). ΠΠ±Π° ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² GNU/Linux, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ Π°ΠΊΡΠ΅Π½Ρ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅. ΠΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π, "ΠΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ Π²Π²ΠΎΠ΄-Π²ΡΠ²ΠΎΠ΄".
Π ΠΊΠ½ΠΈΠ³Π΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π²Π²ΠΎΠ΄Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux. ΠΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ½ΡΡΡΠ΅ Π² ΠΊΠ½ΠΈΠ³Π΅Π ΠΊΠ½ΠΈΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΡΠΊΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ.
β ΠΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΊΡΡΡΠΈΠ²ΠΎΠΌ.
β Π’Π΅ΠΊΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² "ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°" Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ printf("Hello, world!\n").
β ΠΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π½Ρ ΠΌΠΎΠ½ΠΎΡΠΈΡΠΈΠ½Π½ΡΠΌ ΡΡΠΈΡΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ cd /.
β ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎ ΡΡΠ°Π²ΠΈΠΌ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» % (Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅). ΠΡΠ΅, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ β ΡΡΠΎ ΡΠ΅Π°ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅
% uname
Linux
ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ΄Π°Π»Π° ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ %, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ uname, Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠ²Π΅ΡΠΈΠ»Π° Π²ΡΠ΄Π°ΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Linux.
β Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ). ΠΡΠ΅ Π»ΠΈΡΡΠΈΠ½Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://www.advancedlinuxprogramming.com.
ΠΡ ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Red Hat Linux Π²Π΅ΡΡΠΈΠΈ 6.2. Π ΡΡΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ΄ΡΠΎ Linux Π²Π΅ΡΡΠΈΠΈ 2.2.14, GNU-Π±Π½Π±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ·ΡΠΊΠ° Π‘ Π²Π΅ΡΡΠΈΠΈ 2.1.3 ΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² EGCS Π²Π΅ΡΡΠΈΠΈ 1.1.2. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΡΠΈΡΡ Linux, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π² ΡΠ΄ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ 2.4 ΠΈ Ρ GNU-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΡΠ·ΡΠΊΠ° Π‘ Π²Π΅ΡΡΠΈΠΈ 2.2.
ΠΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°
ΠΡ, ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈ Π΅ΡΡΡ Π³Π»Π°Π²Π½ΡΠΉ Π΅Π΅ ΠΊΡΠΈΡΠΈΠΊ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡ. ΠΡ ΡΠ΅Π½ΠΈΠΌ Π²Π°ΡΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΈ Ρ ΠΎΡΠΈΠΌ Π·Π½Π°ΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π½Π°ΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΡΡΡΠ΅ Π² ΡΡΠΎ Π΅ΡΠ΅ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·Π΄Π°Π½Π½ΡΠΌ Π½Π°ΠΌΠΈ. ΠΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΡΠ»ΡΡΠ°ΡΡ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π²ΡΡΠΊΠ°Π·Π°ΡΡ Π² Π½Π°Ρ Π°Π΄ΡΠ΅Ρ.
ΠΡ ΠΆΠ΄Π΅ΠΌ Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π½Π°Π΄Π΅Π΅ΠΌΡΡ Π½Π° Π½ΠΈΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ»Π°ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π½Π°Ρ Web-ΡΠ΅ΡΠ²Π΅Ρ, ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠ²ΠΎΠΈ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ, β ΠΎΠ΄Π½ΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ, Π»ΡΠ±ΡΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄Π°ΠΉΡΠ΅ Π½Π°ΠΌ Π·Π½Π°ΡΡ, Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ Π²Π°ΠΌ ΡΡΠ° ΠΊΠ½ΠΈΠ³Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΡΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π΄Π»Ρ Π²Π°Ρ.
ΠΠΎΡΡΠ»Π°Ρ ΠΏΠΈΡΡΠΌΠΎ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ Π΅Π΅ Π°Π²ΡΠΎΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π°Ρ e-mail. ΠΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Π²Π°ΡΠΈΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΎΡΠ±ΠΎΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΊ ΠΈΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠ½ΠΈΠ³. ΠΠ°ΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ:
E-mail: [email protected]
WWW http://www.williamspublishing.com
Π§Π°ΡΡΡ I
Π‘Π»ΠΎΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ UNIX/Linux
ΠΠ»Π°Π²Π° 1
ΠΠ°ΡΠ°Π»ΠΎ
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ ΠΈΠ»ΠΈ C++ Π² ΡΡΠ΅Π΄Π΅ Linux. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π½Π° C/C++, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Π’Π΅, ΠΊΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Linux, ΠΌΠΎΠ³ΡΡ ΡΠΌΠ΅Π»ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π³Π»Π°Π²Π΅ 2, "ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ GNU/Linux".
ΠΡΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π²ΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ ΠΈ C++ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ·ΡΠΊΠ° Π‘. Π’Π΅ΠΊΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Π‘, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C++. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΡΠΌΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Linux, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Linux-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π°ΡΠΈΠ½Π°Π»ΠΈ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ Π² ΡΡΠ΅Π΄Π΅ Windows, ΠΌΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡ ΠΎΠ΄ΡΡΠ²Π° ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
1.1. Π Π΅Π΄Π°ΠΊΡΠΎΡ Emacs
Π Π΅Π΄Π°ΠΊΡΠΎΡ β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ². Π Linux ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², Π½ΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ β GNU Emacs.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ EmacsEmacs β Π½Π΅ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΡΠΎ Π½Π΅ΠΎΠ±ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠΎΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΈΡΠ°ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π‘ΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΠΎΠ»Ρ ΠΎΠ±ΡΠΈΡΠ½Ρ, ΡΡΠΎ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² Emacs, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Internet!
ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΌΡ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠΈΠ²ΡΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Emacs. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ΅Ρ ΠΈΠ· Π²Π°Ρ, ΠΊΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΡΡΠΏΠ΅Π» Π²ΡΠ±ΡΠ°ΡΡ ΡΠ²ΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π² Linux.
1.1.1. ΠΡΠΊΡΡΡΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° C/C++
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Emacs, Π½Π°Π±Π΅ΡΠΈΡΠ΅ emacs Π² ΠΎΠΊΠ½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ <Enter>. ΠΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ Files, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Open Files ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅ ΠΈΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² ΡΡΡΠΎΠΊΠ΅ "ΠΌΠΈΠ½ΠΈ-Π±ΡΡΠ΅ΡΠ°" Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°.[2] ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ .Ρ ΠΈΠ»ΠΈ .h. Π ΡΠ»ΡΡΠ°Π΅ C++ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ .cpp, .hpp, .Π‘ ΠΈΠ»ΠΈ .H. ΠΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π²ΡΠ±ΡΠ°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Save Buffer Π² ΠΌΠ΅Π½Ρ Files. Π§ΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Exit Emacs Π² ΠΌΠ΅Π½Ρ Files.
Π’Π΅, ΠΊΡΠΎ ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅Π»ΠΊΠ°ΡΡ ΠΌΡΡΡΡ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ½ΡΠΌΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΊΠΎΡΡΡΡΠΈΠΌΠΈ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ C-x C-f. (ΠΠ°ΠΏΠΈΡΡ C-x ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ <Control> Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ <x>.) Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ», Π²Π²Π΅Π΄ΠΈΡΠ΅ C-x C-s, Π° ΡΡΠΎΠ±Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· Emacs β C-x C-c. ΠΡΡΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ Emacs Tutorial Π² ΠΌΠ΅Π½Ρ Help. Π Π½Π΅ΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π°ΡΡΠΈΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Emacs.
1.1.2. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΏΡΠΈΠ²ΡΠΊΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΡΠ΅Π½ΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² Emacs ΡΡΠ΅Π΄ΡΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° C/C++, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² Π½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ <Tab> Π² ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡ ΠΊΡΡΡΠΎΡ Π² Π½ΡΠΆΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΊΠ»Π°Π²ΠΈΡΠ° <Tab> Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΊΡΡ, ΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²ΡΡ ΡΡΡΠΎΠΊΠ°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΡΠΎ Π½Π°Π±ΡΠ°Π½ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡ:
int main() {
printf("Hello, world\n");
}
ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ <Tab> Π² ΡΡΡΠΎΠΊΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ printf() ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
int main() {
printf("Hello, world\n");