ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Ρ Π² ubuntu ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Linux. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Linux ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
Π‘ΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ, ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° GNU. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΏΡΠ°Π²ΠΊΡ. ΠΡΠΎΠ΅ΠΊΡ GNU Π±ΡΠ» ΠΎΡΠ½ΠΎΠ²Π°Π½ Π² 1984 Π³ΠΎΠ΄Ρ Π ΠΈΡΠ°ΡΠ΄ΠΎΠΌ Π‘ΡΠΎΠ»Π»ΠΌΠ°Π½ΠΎΠΌ. ΠΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ Π±ΡΠ»ΠΎ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ°ΠΊΠΎΠΌΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Ρ. Π¦Π΅Π»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π΅Π΄ΠΈΠ½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π»Π° Π±Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ΅ΠΌ-ΡΠΎ ΡΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΡΡ ΠΏΡΠ°Π² Π½Π° ΡΡΠΎ ΠΠ. Π§Π°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ ΠΎΠ΄ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ Linux.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ GCC. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ° Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π»Π°ΡΡ, ΠΊΠ°ΠΊ GNU C Compiler. Π‘Π΅ΠΉΡΠ°Ρ ΠΎΠ½Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ - GNU Compiler Collection.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GCC. ΠΠΎ ΡΠ»ΠΎΠΆΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Β«Hello world!Β» - Β«ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉ ΠΠΈΡ!Β».
Π€Π°ΠΉΠ»Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ GEdit KWrite, Kate, Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Linux - vi ΠΈ emacs). ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ KDevelop. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ Π² Π½ΡΠΌ Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΏΡΡΠΌΠΎ ΠΏΠΎΠ΄ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ. Π’Π°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ hello. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π½ΡΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» hello.c ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ:
#include
printf("Hello world!\n");
ΠΠ°ΡΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°Π±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» a.out. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΠ°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ. ΠΠ°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ, ΡΠΎ Π΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡ:
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ gcc ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠΌΡ a.out. ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°Π·Π²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ, Π½ΡΠΆΠ½ΠΎ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π°Π³ -o ΠΈ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π°Π·Π²Π°ΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°Π±Π΅ΡΡΠΌ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
gcc hello.c -o hello
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ hello. ΠΠ°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ Π½Π°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.
Π€Π»Π°Π³ -o ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ»Π°Π³ΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° gcc. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»Π°Π³ΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π΅. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ man. ΠΠ°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
ΠΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π½Π΅Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π°Π³. Π‘ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· Π½ΠΈΡ ΠΌΡ ΡΠΊΠΎΡΠΎ Π²ΡΡΡΠ΅ΡΠΈΠΌΡΡ. ΠΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ q.
ΠΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° Π½Π°Π±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΡΠΊΡ ΠΈ ΡΠ»ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΆΠ΅ ΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ?
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π°Π±Π΅ΡΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ /usr/bin ΠΈ /usr/local/bin, ΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ. ΠΠ°ΡΠ°Π»ΠΎΠ³ΠΈ /usr/bin ΠΈ /usr/local/bin - ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΅ΡΠ²ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ,Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Linux. ΠΡΠΎΡΠΎΠΉ - Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΌΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (Π·Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΡΡΠ°Π΅ΡΡΡ). Π’Π°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π½ΡΠΆΠ½Π°,ΡΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /usr/local/bin. ΠΡΠ°ΠΉΠ½Π΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π»ΠΈΡΠ½Π΅Π΅ Π² /usr/bin ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΡΠΎ-ΡΠΎ ΠΎΡΡΡΠ΄Π° Π²ΡΡΡΠ½ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΡΠ°Ρ Ρ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
/home/dima/projects/hello/hello
ΠΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ΄Π½Π° ΡΠΎΡΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ - ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π°./hello Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ hello, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π°../hello - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ hello, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡΡ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π°./projects/hello/hello - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ , Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ.
ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH. ΠΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΡΡ ΠΎΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ΅ΠΌΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ - ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° gcc. ΠΡ ΡΠ°Π±ΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠΈ ΡΡΠ°ΠΏΠ°: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° (ΠΈΠ»ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ°).
ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ #include. Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π½ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π³Π΄Π΅-ΡΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅: ΠΈΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ .
ΠΡΠΎΡΠ°Ρ ΡΡΠ°Π΄ΠΈΡ - ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. ΠΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C/C++ Π² Π½Π°Π±ΠΎΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π½Π° ΠΌΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°Π·Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ , ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ (ΡΠ°Π·Π²Π΅ ΡΠΎΠ»ΡΠΊΠΎ, Π΅ΡΠ»ΠΈ Ρ Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ). ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ²: ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Ρ ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΈ ΠΊΠ°ΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π΄ΠΈΡ - ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°. ΠΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠΈ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΎΠ΄ΠΈΠ½, ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ, ΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ, Π½ΠΎ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» - Π½Π°ΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, ΠΎΠ½ Π²ΡΠ΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΈ ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π΄ΡΡΠ³ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½Π΅ΠΉΡΠΈΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ, Π²ΡΡΠΈΡΠ°ΡΡ, ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΈ Π΄Π΅Π»ΠΈΡΡ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π΄Π²Π° ΡΠΈΡΠ»Π°, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΠΊ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅ΡΡΡΠ΅ Π·Π½Π°ΠΊΠ°: Β«+Β», Β«-Β», Β«*Β», Β«/Β». ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ (Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π°Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π° ΡΠΎΡΠ½Π΅Π΅ - Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π²ΡΠ·ΡΠ²Π°Π»ΠΈ).
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ kalkul, Π² Π½Π΅ΠΉ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» kalkul.c.
#include
printf(" ΠΠ΅ΡΠ²ΠΎΠ΅ΡΠΈΡΠ»ΠΎ: ");
scanf("%f",&num1);
printf("ΠΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ");
scanf("%f",&num2);
printf(" ΠΠΏΠ΅ΡΠ°ΡΠΎΡ (+ - * /): ");
while ((op = getchar()) != EOF)
printf("%6.2f\n",num1 + num2);
else if(op == "-")
printf("%6.2f\n",num1 - num2);
else if(op == "*")
printf("%6.2f\n",num1 * num2);
else if(op == "/")
printf("ΠΡΠΈΠ±ΠΊΠ°: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ!\n");
break;
printf("%6.2f\n",num1 / num2);
ΠΡΠ°ΠΊ, ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΈΠ½Π³. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π΄Π΅Π»Π°Π΅ΡΡΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ -E. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ Π²ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ Π² Π½Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π»ΠΈ ΠΎΠ΄ΠΈΠ½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» - stdio.h - ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈΡΡΠ²Π°Π»ΠΈ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΠΌΠΈ ΡΠ»ΠΎΠ²Π°.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
gcc -E kalkul.c -o kalkul.cpp
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΌΡ Π΄Π°Π»ΠΈ ΠΈΠΌΡ kalkul.cpp. ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π²Π΅ΡΡΠΌΠ° Π΄Π»ΠΈΠ½Π½ΡΠΉ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅Π³ΠΎ Π²ΠΎΡΡΠ» Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° stdio.h. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΡΠ΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π³ΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ²ΡΠ·ΠΈ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΠΊΡΡ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΈΠ΄Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΎΠΌ Π½ΠΈΠ·Ρ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΎΠ΄Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ stdio.h. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ ΠΎ Π½Π΅ΠΉ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ man. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π²Π΄ΡΡΠ³ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ fopen, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ:
ΠΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ info.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ ΠΈ Π²ΡΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΡΡΠ°Π·Ρ.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Β«Π΄ΠΎΡΠ»ΠΎΠ²Π½ΡΠΉΒ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΏΠΎΠΊΠ° Π±Π΅Π· ΡΠ²ΡΠ·ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ»ΡΠΆΠΈΡ ΠΎΠΏΡΠΈΡ -c.
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΎΡΡΠΎ Π±Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅.c Π½Π°.o (ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ Π½Π°Π·Π²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ).
ΠΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°, ΡΠΆΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΡΡΠ΅), ΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ, ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ΅Π³ΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» C++, Π±Π΅Π· ΡΡΡΡΠ° ΡΠ΅Π³ΠΎΠ² ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π° Π·Π½Π°ΡΠΈΡ ΡΠ²ΡΠ·Ρ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ. ΠΠ»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊ ΠΈ ΡΠΎΡΠΌΠ°Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ»ΡΠΆΠΈΡ ΠΎΠΏΡΠΈΡ -x. Π€Π°ΠΉΠ» C++, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ cpp-output.
gcc -x cpp-output -c kalkul.cpp
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠ°ΠΏ - ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°. ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ.
gcc kalkul.o -o kalkul
ΠΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ.
ΠΡ ΡΠΏΡΠΎΡΠΈΡΠ΅: Β«ΠΠ°ΡΠ΅ΠΌ Π²ΡΡ ΡΡΠ° Π²ΠΎΠ·Π½Ρ Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌΠΈ ΡΡΠ°ΠΏΠ°ΠΌΠΈ? ΠΠ΅ Π»ΡΡΡΠ΅ Π»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠ²Π°ΡΡ gcc kalkul.c -o kalkul?Β»
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΈ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡ. Π Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°ΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ², ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ ΡΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΌΠΈΡΡΠΈΠΉ ΠΠ°Π½ΡΠ΅Π»Π΅ΠΈΡΠ΅Π² (dimanix2006 at rambler dot ru) - ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ GCCΠ‘ΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ΅ΠΌΠ° ΠΎΡΠ΅Π½Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ. ΠΡΠ»ΠΈ ΡΡΡΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π²ΠΎΠΏΡΠΎΡΡ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ!
ΠΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠΈ ΠΏΠΎΠ΄ Linux. ΠΠ·ΡΡΠ°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ API.
ΠΠ°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ ΠΈΠ·ΡΡΠΈΡΡ API *nix ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΠ‘, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ Linux. ΠΠ΄Π΅ΡΡ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ ΠΠ‘ Linux, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ:
- ΠΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ ΠΠ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° C ΠΈΠ· ΡΠΎΡΡΠ°Π²Π° GCC
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
- ΠΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
- ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ²
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ²
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ², ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π΅ΠΌΠΎΠ½Π°ΠΌΠΈ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌ ΠΠ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°
- ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡΠ°: ΠΠ½Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΡΠΈ, Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠ½ΠΈΠ³ΠΈ Π.Π. ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½,Π.Π. Π ΠΈΡΠΈ "Π―ΠΠ«Π Π‘".
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ 6 000 ΡΡΠ±Π»Π΅ΠΉ.
ΠΠ΅ΡΡΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ - Π³ΠΎΡΠΎΠ΄ ΠΠΎΡΠΊΠ²Π°, Π² ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π₯Π°ΠΊΡΠΏΠ΅ΠΉΡΠ° ΠΠ΅ΠΉΡΠΎΠ½.
ΠΠ°ΡΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ: ΠΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎ 4 ΠΈΡΠ»Ρ (ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ), ΠΏΠΎ 7 ΠΈΡΠ»Ρ (ΡΠ΅ΡΠ²Π΅ΡΠ³) Ρ 10 Π΄ΠΎ 17 Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ²ΠΎΠΌ Π½Π° ΠΎΠ±Π΅Π΄ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠΈ Π½Π° ΡΠ°ΠΉ/ΠΊΠΎΡΠ΅.
ΠΠ½Π»Π°ΠΉΠ½ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π² Π³ΡΡΠΏΠΏΠ΅: 8-10.
ΠΠ°ΠΏΠΈΡΡ Π²Π΅Π΄ΡΡΡΡ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ [email protected] Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΏΠΎΡΡΡ. ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π°ΡΠ΅ Π€.Π.Π. (ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ) ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈ ΠΏΠΎΡΡΠ°). ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π»ΠΈ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΎΠ΄ Π·Π°Π½ΡΡΠΈΠΉ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΡΡΡΠ°:
ΠΠΎΠ΄ΡΠ»Ρ 1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- ΠΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΠ Π² GNU/Linux
- ΠΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°ΠΌΠΈ (vi,nano,mcedit)
- Π Π°Π±ΠΎΡΠ° Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ gdb
- Π ΡΡΠ½Π°Ρ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΠ (Makefile)
- ΠΠΎΠ΄Π΅Π»Ρ ΠΠ»ΠΈΠ΅Π½Ρ-ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ-Π‘Π΅ΡΠ²Π΅Ρ (ΠΠΠ‘)
- Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
- Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
- ΠΠ±Π·ΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π² Linux (Ubuntu)
- Π€Π°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ: open, close, write, read ΠΈ lseek
- Π’ΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΠ½Π΄Π΅ΠΊΡΠ½ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΠΈ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ
- ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ
- Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° proc
- ΠΠ²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
- Π Π°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ°ΠΉΠ»Π°
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Linux (Ubuntu)
- ΠΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ (pipes)
- ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ (named pipes)
- Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (message queue)
- Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ (shared memory)
- Π‘Π΅ΠΌΠ°ΡΠΎΡΡ (semaphores)
- Π‘ΠΎΠΊΠ΅ΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ (UNIX-ΡΠΎΠΊΠ΅ΡΡ)
- ΠΠ°ΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ (pair sockets)
- Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ (sockets)
- ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ (signals)
- ΠΡΠ»ΠΈΡΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
- Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² (signal handling)
- ΠΠΎΠ΄ΡΠ»Ρ 6. ΠΡΠΎΡΠ΅ΡΡΡ
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² β fork()
- ΠΠ°ΠΌΠ΅Π½Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° β exec()
- ΠΠΎΠΌΠ±ΠΈ (zombies) β ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ
- ΠΠΎΡΠΎΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ
- Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (multithreading)
- ΠΠΎΡΡΠΎΡΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°
- Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² (synchronize primitives)
- ΠΡΡΠΈΠ±ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²
- ΠΡΠ»ΠΈΡΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° ΠΎΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ
- Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π΅ΠΌΠΎΠ½ΠΎΠ² (daemons)
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠΎΠΊΠ΅ΡΡ
- Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ
- Π‘ΠΎΠΊΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ESC-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ
- ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Ρ
- Π§Π°ΡΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
- ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ mmap
- Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ 64-Π±ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ncurses
ΠΠΎΠΌΠ½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ, Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊ Π²ΠΎΠΏΡΠΎΡ: Β«ΠΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π² Ubuntu?Β» ΠΠ»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΡΡΠΎ Π½Π΅ Π»Π΅Π³ΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄.
ΠΠΎΠΉ ΠΏΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ C Π½Π°ΡΠ°Π»ΡΡ Ρ Π±Π΅ΡΡΡΠ΅Π»Π»Π΅ΡΠ° Β«ΠΡΠ°ΠΉΠ°Π½ ΠΠ΅ΡΠ½ΠΈΠ³Π°Π½, ΠΠ΅Π½Π½ΠΈΡ Π ΠΈΡΡΠΈ, Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C, 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β» . Π’Π°ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Unix, Π½ΠΎ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Linux. ΠΠ²ΡΠΎΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π²ΡΠΊΡΡΡΠΈΠ»ΠΈΡΡ, Π½Π°ΠΏΠΈΡΠ°Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΡ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π·Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ.
ΠΠΎΠ±ΡΠ΄Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ:) ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ Π½Π° C++ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Ubuntu.
Π’Π΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ gedit
ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ½ΡΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Ubuntu, ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° β gedit.Π ΠΈΡ. 1. ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. |
ΠΠ΅ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΏΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Hello, World!Β» , Π²ΡΠ²ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½:
#include
ΠΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² gedit ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ» Hello.c , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ». ΠΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π² ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠΎΠ±Π΅Π».
Π ΠΈΡ. 2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° hello, World. |
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Dash, Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡSudo apt install build-essential
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π²Π΅ΡΡΠΈ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΏΡΠΎΡΡΠΎ Π² ΡΠ΅Π»ΡΡ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
ΠΠ°Π»Π΅Π΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΊΡΠ΄Π° ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cd (Π°Π½Π³Π». change directory β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³). Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΠΈΡΠ΅ΡΡΡ cd , Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π» ΠΏΡΡΡ, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ», ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ:
Cd ~/Π Π°Π±ΠΎΡΠΈΠΉ\ ΡΡΠΎΠ»
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ
\ Π² ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π Π°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ». ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΠΊΠΎΡΠ°Ρ ΡΠΊΡΠ°Π½ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π», ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ cd , ΡΡΠΎ ΠΏΡΠΎΠ±Π΅Π» ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π° Π½ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ. Π‘ΠΈΠΌΠ²ΠΎΠ» ~ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΡΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΡΡΡ Π΄ΠΎ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ls (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Π°Π½Π³Π». list).
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Gcc -Wall -o hello hello.c
Π³Π΄Π΅:
- gcc β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C;
- -Wall β ΠΊΠ»ΡΡ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°;
- -o hello β Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ° -o ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°;
- hello.c β ΠΈΠΌΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ.
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ hello , Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ./ :
./hello
ΠΡΠ΅ΡΠΈΠΊΡ./ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. (Π’ΠΎΡΠΊΠ° β ΡΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.)
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘++
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C++ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° C. Β«Hello, World!Β» Π½Π° C++ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊ: #include
Π‘ΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ hello2.cpp . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
G++ -Wall -o hello2 hello2.cpp
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π»ΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C/C++ ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎ ΡΡΠ°ΡΡΡΠΌ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅.ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Ubuntu ΠΈΠ»ΠΈ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΊΠ½ΠΈΠ³Π°Ρ :
- ΠΠ²Π°Π½ΠΎΠ² Π. Π. β ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Linux. Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ. β 2-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅;
- ΠΠ΅ΠΉΠ» ΠΠ΅ΡΡΡ, Π ΠΈΡΠ°ΡΠ΄ Π‘ΡΠΎΡΠ½Ρ β ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Linux: ΠΠ΅Ρ. Ρ Π°Π½Π³Π». β 4-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅;
- ΠΠΎΠ»ΠΈΡΠ½ΠΈΡΠ΅Π½ΠΊΠΎ Π. Π. β Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Linux-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΆΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Ρ ΠΎΡΡΡ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ OpenSource.
ΠΡΠΎ ΠΎΠ±Π·ΠΎΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Linux. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Π΅Π΅ Π²ΡΡΡΠ½ΡΡ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ.
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠ΄ΡΠΎ Unix Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ. ΠΠ°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎΡ ΡΠ·ΡΠΊ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΄ΡΠ° Unix. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΄ΡΠΎ Linux Π±ΡΠ»ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡΠ΄ΡΠ΅ Minix (Π²Π΅ΡΡΠΈΠΈ Unix), ΡΠΎ ΠΎΠ½ΠΎ ΡΠΎΠΆΠ΅ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Π‘ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Linux ΡΡΠΎ Π‘ΠΈ ΠΈ Π‘++. Π’Π°ΠΊΠ°Ρ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ»Π°ΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π Π²ΠΎΠΎΠ±ΡΠ΅, ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΈ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ Java ΠΈ Python ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π‘# ΠΈ Π΄Π°ΠΆΠ΅ Pascal. ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ. ΠΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘++ ΡΠ»ΠΎΠΆΠ½ΠΎ, Π° Π‘ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠΆΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Python ΠΈΠ»ΠΈ Perl. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Linux Mint, ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Ubuntu ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ apt Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Python. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Perl. ΠΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ruby. ΠΡΠΎ ΡΠΊΡΠΈΠΏΡΡ OpenShift ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Metasploit. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Java. ΠΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΠΆΠ΅ Π½Π° Π‘ΠΈ.
ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Π‘ΠΈ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. Π‘ΠΈ - ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΈΠ³Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘ΠΈ Π² Linux, ΠΊΠ°ΠΊ ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ.
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΈΡΡ Π‘ΠΈ:
2. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½, ΡΠΎ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅. ΠΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΡΠ΅ ΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ . Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ - ΡΡΠΎ Π½Π°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. Π Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , ΡΠ°Π·Π½ΠΈΡΠ° Π»ΠΈΡΡ Π² ΡΠΎΠΌ, ΡΠ°ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π΅Π»ΡΡΡΡ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ°:
- Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ - ΠΎΠ½ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΎΠ½ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ΄Π½ΡΠ΅. Π’Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅.a;
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ - ΡΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠ΅, ΠΎΠ½ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½ΡΠΆΠ½Π° ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΅Π΅ ΠΏΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ - .so, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡ ΠΎΠ΄ΠΈΡ ΠΎΡ Shared Object.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π±Ρ Π²Ρ Π½Π΅ Π½Π°Π΄ΡΠΌΠ°Π»ΠΈ ΠΏΠΈΡΠ°ΡΡ, Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ Π‘ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π½Π° Π‘ΠΈ/Π‘++, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘ΠΈ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡΡ ΡΠ·ΡΠΊΠΈ, Π²ΡΠΎΠ΄Π΅ Go, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ, Π½ΠΎ ΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ΅ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π·Π΄Π΅ΡΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ linux, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΡΡΠΎ Π‘ΠΈ ΠΈΠ»ΠΈ Π‘++.
3. ΠΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ ΡΡΠ°ΠΏΠΎΠ² ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΡΡΠ΅Π·Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.c ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.h. Π’Π°ΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².Ρ. ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ. ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π΅Π΅ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π»ΠΈ Π²ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π΅Π΅ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ». ΠΠΎΡΡΠΎΠΌΡ, ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ», Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ include Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠΎ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ Π² ΠΊΠΎΠ΄ ΠΌΠ°ΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΎΠ½Π° Π΅ΡΠ΅ Π½Π΅ Π³ΠΎΡΠΎΠ²Π° ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ°Π»Π΅Π΅ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ. ΠΠ³ΠΎ Π·Π°Π΄Π°ΡΠ° ΡΠ²ΡΠ·Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π°.
Π ΡΠ΅ΠΏΠ΅ΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π΅ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° GCC.
4. ΠΠ°ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² Linux ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΡΡΠΎ . ΠΠΎΠΊΠ° ΡΡΠΎ GCC Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. ΠΠ±ΡΡΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π΅ΡΠ»ΠΈ ΠΆΠ΅ Π½Π΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² Ubuntu:
sudo apt install gcc
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°:
$ gcc ΠΎΠΏΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ_ΡΠ°ΠΉΠ»_1.Ρ -o Π³ΠΎΡΠΎΠ²ΡΠΉ_ΡΠ°ΠΉΠ»
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΉ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΡΠΈΠ»ΠΈΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- -o - Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π°;
- -c - ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»;
- -x - ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°;
- -l - Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΊΡΠ°Π½ ΠΈ ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅, ΡΡΠΈΡΠ°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ· ΡΠΈΡΠ»Π° 9. ΠΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄:
include
#include
int main(){
printf("ΡΠ°ΠΉΡ\n");
printf("ΠΠΎΡΠ΅Π½Ρ: %f\n", sqrt(9));
return 0;
}
gcc -c program.c -o program.o
ΠΡΠΎ ΡΡΠ°ΠΏ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΎ ΠΎΠ½ ΠΏΡΠΎΠΉΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ . ΠΠ°Π»Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡ:
gcc -lm program.o -o program
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠΈΡ -l, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΄Π΅ΡΡ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΈΠ½Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ Π³Π΄Π΅ Π΅ΡΡΡ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΠ΅ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅Π΄, Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡ Π²ΡΠ΅ Π²ΡΡΡΠ½ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ldd Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
ΠΡΠΎ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ libc ΠΈ libm, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ.
5. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Linux Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎ, Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΡΡΠ½ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π·Π΄Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈΠ»ΠΈΡΠ° make ΠΈ ΡΠ°ΠΉΠ»Ρ Makefile. ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΡΠ΅Π»Ρ:
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΠ΅Π»Ρ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ - all, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Makefile ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
program: program.o
gcc -lm program.o -o program
program.o: program.c
gcc -c program.c -o program.o
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ½ΠΎΠ²Π° Π³ΠΎΡΠΎΠ²Π° ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡ.
ΠΡΠ²ΠΎΠ΄Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Linux ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΡ ΡΠ°ΠΌΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²ΠΎΠΈΡΠ΅ΡΡ Π² ΡΡΠΎΠΌ Π΄Π΅Π»Π΅. Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΎΡ Π²Π°ΡΠΈΡΡ Π²ΡΠ΅ Π² ΡΠ°ΠΊΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Π½ΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°ΠΌΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π°ΡΡ Π²Π°ΠΌ Π±Π°Π·Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² linux, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠΏΡΠ°ΡΠΈΠ²Π°ΠΉΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
ΠΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π‘ΠΈ ΠΏΠΎΠ΄ Linux:
Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π‘Π ΠΈ Π‘++ Π½Π° Windows Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π» Π² ΡΡΠ°ΡΡΠ΅: .
ΠΠΎ ΡΡΠΈ ΡΠ·ΡΠΊΠΈ ΠΊΡΠΎΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π»ΠΈΠ½ΡΠΊΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½ΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠ»ΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΠΎΠ·ΡΠΎΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Linux. Π ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ Ρ ΠΎΡΡΡ ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ C ΠΈ C++ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ Linux.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ windows, Π½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Linux, ΡΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΌΠΎΠΈΠΌΠΈ ΡΡΠ°ΡΡΡΠΌΠΈ ΠΏΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅: .
ΠΡΠ°ΠΊ, Π»ΠΈΠ½ΡΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ².
$sudo apt-get install gcc g++
ΠΠΎΡ ΠΈ Π²ΡΠ΅, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» hello.c, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΊΡ:
#include main() { printf("Hello\n"); }
ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
$gcc hello.c -o hello
ΠΡΠ΅, Π² ΠΏΠ°ΠΏΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° hello. Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΅Ρ.
$./hello
ΠΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΡΠΎΠΌ Π±Π»ΠΎΠΊΠ½ΠΎΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ β ΡΡΠΎ ΠΎΡΠΎΠ±ΠΎΠ΅ ΠΈΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΌ ΠΆΠ΅ Π½ΡΠΆΠ½Π° ΠΌΠ°Π»ΠΎ-ΠΌΠ°Π»ΡΡΠΊΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ IDE Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π‘ ΠΈ Π‘++ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΈΡΠ°Π»ΠΈ ΠΌΠΎΡ ΡΡΠ°ΡΡΡ , ΡΠΎ Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ ΠΎ ΡΠ΅ΠΌ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ. ΠΠ°, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Geany. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠ·ΡΠΊΠΎΠ². ΠΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π½Π΅ΠΉ ΡΠ°ΠΌΠΎ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΠΏΠΈΡΠ΅ΠΌ:
$sudo apt-get install geany
Π‘ΠΎΠ³Π»Π°ΡΠ°Π΅ΠΌΡΡ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΠΆΠ΄Π΅ΠΌ Π΅Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ Π² Π½Π΅ΠΉ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠ°ΠΉΠ» hello.c ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ, Π·Π°ΡΠ΅ΠΌ ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΎΡ ΠΎΠΆΡΡ Π½Π° ΠΊΠΈΡΠΏΠΈΡ Β«Π‘ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°ΠΉΠ»Β» ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°ΠΉΠ»Β». Π Ρ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ.