Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux

ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ процСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ состоят ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π±ΠΈΡ‚. Π­Ρ‚ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ нСсколько сотСн ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ всС дСйствия Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Но ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нСпосрСдствСнно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих ΠΊΠΎΠΌΠ°Π½Π΄ слоТно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языки программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡ‰Π΅ для восприятия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ выполняСтся компиляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux, ΠΊΠ°ΠΊ происходит процСсс компиляции, Π° Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим насколько Π³ΠΈΠ±ΠΊΠΎ Π²Ρ‹ смоТСтС всС Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° систСмы

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° Π‘ΠΈ ΠΈΠ»ΠΈ Π‘++, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ язык для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ компиляции. ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ рассматривали эту Ρ‚Π΅ΠΌΡƒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ установка ΠΈΠ· tar.gz Π² Linux, Π½ΠΎ Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° большС Π½Π° Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, сколько ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π’ этой ΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ‚Π΅ΠΌΠ° рассмотрСна Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ. Как Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, для прСвращСния исходного ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор GCC. Для установки Π΅Π³ΠΎ ΠΈ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… инструмСнтов Π² Ubuntu Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

sudo apt install build-essential manpages-dev git automake autoconf

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ установки ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ компилятора:

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ самой компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ рассмотрим Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ этого процСсса.

Как выполняСтся компиляция?

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС, Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ начнСтся нСпосрСдствСнно компиляция, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ совмСстима Π»ΠΈ ваша систСма с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π»ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Если Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½Π° ошибка ΠΈ Π²Π°ΠΌ придСтся ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΠ΄Π΅Ρ‚ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π±Π΅Π· этого этапа ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, Π½ΠΎ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ компилятор ΠΌΠΎΠ³ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ мСньшС, Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ процСссора эффСктивнСС.

Π—Π°Ρ‚Π΅ΠΌ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с систСмными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этого этапа ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ΠΈ всС. Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ основныС Ρ„Π°Π·Ρ‹ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исходников

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, это исходныС ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π½Π° GitHub. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ исходники для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Linux Π½Π° GitHub. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΌ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ инструкции ΠΏΠΎ сборкС:

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ сами исходники нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ git:

git clone https://github.com/vim/vim

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π’Π°ΠΊΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² Π½Π° сайтС, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π½ΠΎ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° создаст ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ:

Настройка configure

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с систСмой ΠΈ настроит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ компиляции. Он называСтся configure ΠΈ поставляСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вмСстС с исходниками. Π’Π΅ΡΡŒ процСсс компиляции описан Π² Ρ„Π°ΠΉΠ»Π΅ Makefile, Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эта ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°.

Если configure Π½Π΅Ρ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ с исходниками, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ скрипты Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

Π’Π°ΠΊΠΆΠ΅ для создания этого скрипта ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ automake:

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° automake ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ· Π΅Π΅ Π½Π°Π±ΠΎΡ€Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° основС Ρ„Π°ΠΉΠ»Π° Mackefile.am. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΅ΡΡ‚ΡŒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ configure ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ настройкС. Одним ΠΈΠ· ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… плюсов Ρ€ΡƒΡ‡Π½ΠΎΠΉ сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сами Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ с ΠΊΠ°ΠΊΠΈΠΌΠΈ опциями ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π³Π΄Π΅ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности стоит Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ. ВсС это настраиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ configure. ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ²:

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅, стандартныС для всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠΏΡ†ΠΈΠΈ:

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π’ΠΎ врСмя настройки ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² систСмС, ΠΈ Ссли Π½Π΅Ρ‚, Π²Π°ΠΌ придСтся ΠΈΡ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ такая ошибка: no terminal library found checking for tgetent(). configure: error: NOT FOUND!

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ncurses, поэтому ставим:

sudo apt install libncurces-dev

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Когда настройка Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ Makefile Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ смоТСтС ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ нСпосрСдствСнно ΠΊ сборкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На этом этапС выполняСтся нСпосрСдствСнно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° make Π½Π° основС Makefile сдСлаСт всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия:

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π”Π°Π»ΡŒΡˆΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ саму ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ссли Π²Ρ‹ использовали ΠΎΠΏΡ†ΠΈΡŽ prefix, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ make:

Π—Π°Ρ‚Π΅ΠΌ просто установитС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dpkg:

sudo dpkg install vim.deb

ПослС этого сборка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ установлСна, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΌΡƒ использованию.

Если Π²Ρ‹ устанавливали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ make install, Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

sudo make uninstall

Команда ΡƒΠ΄Π°Π»ΠΈΡ‚ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ скопированы Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ выполняСтся компиляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Linux. Π­Ρ‚ΠΎΡ‚ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТным для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ, всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ссли ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ нСсколько часов. Если Ρƒ вас ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы, ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π² коммСнтариях!

На Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ компилятор ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡΠ½ΠΎΠ²Ρ‹ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· исходного ΠΊΠΎΠ΄Π° Π² Linux

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»: Basics Of Compiling Software From Source Code In Linux
Автор: LinuxAndUbuntu
Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 16 мая 2018 Π³ΠΎΠ΄Π°
ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄: А. ΠšΡ€ΠΈΠ²ΠΎΡˆΠ΅ΠΉ
Π”Π°Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: июнь 2018 Π³.

ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· исходного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΊΠΎΠ΄Π° C ΠΈΠ»ΠΈ C++ Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Linux. Π’ зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, часто Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ваш дистрибутив, скорСС всСго, ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² рСпозиториях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ЀактичСски, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈΠ· исходного ΠΊΠΎΠ΄Π°. Однако, Ссли ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄, это руководство даст Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основныС знания Π΄Π°Π½Π½ΠΎΠ³ΠΎ процСсса.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π½Π° C ΠΈΠ»ΠΈ C++. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° исходного ΠΊΠΎΠ΄Π° часто связана с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈ распаковкой ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ рСпозитория git. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ являСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этих Ρ‚Ρ€Π΅Ρ… ΠΊΠΎΠΌΠ°Π½Π΄:

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° запускаСт скрипт configure, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, установлСнныС Π² вашСй систСмС. Если трСбуСмая для компиляции Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ установлСна, ΠΎΠ½ сообщит ΠΎΠ± этом, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅. Π’Π°ΠΌ понадобится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Π½ΠΎ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π€Π°ΠΉΠ»Ρ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ….

ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ configure Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан Ρ„Π°ΠΉΠ» Makefile. ΠŸΡ€ΠΈ запускС make, эта ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Makefile Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ запустит компилятор (gcc для C ΠΈΠ»ΠΈ g ++ для C++) для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’Ρ€Π΅Ρ‚ΡŒΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ являСтся строго Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ, Π½ΠΎ рСкомСндуСтся для обСспСчСния общСсистСмного доступа ΠΊ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ» Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΠΈΠ· любого мСста. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Β«makeΒ» Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ инструкции ΠΏΠΎ установкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² систСму.

Π€Π°ΠΉΠ»Ρ‹ INSTALL ΠΈΠ»ΠΈ README

ΠœΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° компиляции. Π§Ρ‚Π΅Π½ΠΈΠ΅ этого Ρ„Π°ΠΉΠ»Π° (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, INSTALL) Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ суффикс Β«-devΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ относятся ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны для компиляции. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ configure Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². README содСрТат Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ запускаСтся. ВмСсто этого ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ make, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ qmake (для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Qt) ΠΈΠ»ΠΈ cmake.

Установка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с GitHub

НачнСм с установки тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° wxMEdit, Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° GitHub. Π—Π΄Π΅ΡΡŒ я Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡƒΡ‚Π΅ΠΌ компиляции ΠΈΠ· исходного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Если Π²Ρ‹ посСтитС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GitHub, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» readme содСрТит свСдСния ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Никаких инструкций ΠΏΠΎ компиляции Π½Π΅Ρ‚, поэтому примСняСтся стандартная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ: autogen.sh.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π³Π΄Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ:

Autogen.sh

Если Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ этот Ρ„Π°ΠΉΠ» Π² исходном ΠΊΠΎΠ΄Π΅, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ β€œ./configure”, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят Π²Π°ΠΌ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Если ΠΎΠ½ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ β€œ./configure”, β€œmake”, Π° Π·Π°Ρ‚Π΅ΠΌ Β«sudo make installΒ» ΠΈ это всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ большС).

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π’ Π²Ρ‹Π²ΠΎΠ΄Π΅ make Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ошибок.

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Если Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ это рСгулярно, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ компиляции ΠΈΠ· исходного ΠΊΠΎΠ΄Π°.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно простой ΠΈΠ»ΠΈ довольно Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠΉ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дистрибутивы Linux ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊ установкС, поэтому компиляция ΠΈΠ· исходного ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ трСбуСтся. Π›ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², прСдоставляСмых рСпозиториями, Ссли ΠΎΠ½ΠΈ доступны.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· исходного ΠΊΠΎΠ΄Π° Π½Π° нашСм сайтС:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

🐧 Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C, C++ Π² Linux

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

Настройка срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ПослС установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄:

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈ запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° C, C ++ Π½Π° Linux

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ свой ΠΊΠΎΠ΄ / ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² вашСм любимом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ CLI / GUI.

Π― ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° C, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ nano.

Если ошибки Π½Π΅Ρ‚, компилятор ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сгСнСрируСт исполняСмый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ itisgood Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

НаконСц, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ прСдупрСТдСния, ΠΎΡ‚Π»Π°Π΄ΡŒΡ‚Π΅ символы Π² Π²Ρ‹Π²ΠΎΠ΄Π΅:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ Π±Π΅Π· ссылок:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст исполняСмый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ source.o.

Если ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ справочным страницам.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈ запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ C ++

Π’ΠΎΡ‚ простая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C ++.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ C ++ Π² Linux, просто запуститС:

Если ошибок Π½Π΅ Π±Ρ‹Π»ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ C ++ ΠΏΠΎΠ΄ Linux, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

НСт нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° C ++ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ make.

Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ справочным страницам.

НадСюсь всС Π±Ρ‹Π»ΠΎ достаточно просто ΠΈ понятно! 🙂

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚

β€’ Π‘Π²Π΅ΠΆΠΈΠ΅ записи

β€’ ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ

β€’ itsecforu.ru

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux

β€’ Π‘Ρ‚Ρ€Π°Π½Ρ‹ посСтитСлСй

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux. Π€ΠΎΡ‚ΠΎ Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² linux IT is good

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈ установка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· исходников

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

НС Ρ€Π΅Π΄ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ исходных тСкстов, Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ описываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ установки ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ· исходных тСкстов.

Распаковка

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²Π°Ρ…, это Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ

НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° tar ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ, поэтому Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ gunzip, Π° ΠΌΠΎΠΆΠ½ΠΎ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ tar, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ½ΠΎ cΠ½Π°Ρ‡Π°Π»Π° Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π°

сразу распакуСт ΠΈ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ

лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ использовались Ρ€Π°Π·Π½Ρ‹Π΅ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‰ΠΈΠΊΠΈ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° tar опрСдСляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ сТатия автоматичСски ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π΅ трСбуСтся.

ПослС распаковки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, всС описываСмыС Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с исходными тСкстами ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Для сборки Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ компиляторы: ΠΎΠ½ΠΈ прописаны Π² зависимостях ΠΏΠ°ΠΊΠ΅Ρ‚Π° build-essential, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ со всСми зависимостями. Π•Ρ‰Ρ‘ Π½ΡƒΠΆΠ½Ρ‹ autoconf ΠΈ automake.

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· исходников, Π½ΡƒΠΆΠ½ΠΎ сначала ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€; ΠΊΠ°ΠΊ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, описано Π² Ρ„Π°ΠΉΠ»Π΅ configure.in. Для сборки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

Если Ρ‚Π°ΠΊΠΈΡ… скриптов Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ Π½Π΅ оказалось, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ВсС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ» configure.in. ПослС выполнСния этих ΠΊΠΎΠΌΠ°Π½Π΄ создастся Ρ„Π°ΠΉΠ» configure. ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия всСх зависимостСй, Π° Ρ‚Π°ΠΊΠΆΠ΅ установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ сборки (Ссли Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) ΠΈ просмотра Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° установки (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ- ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ)

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ построит Makefile ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… знаниях ΠΈ Ρ„Π°ΠΉΠ»Π΅ makefile.am. МоТно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΎΠΏΡ†ΠΈΠΈ, прСдусмотрСнныС Π² исходниках ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ возмоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ стандартных ΠΎΠΏΡ†ΠΈΠΉ, Π²Ρ€ΠΎΠ΄Π΅

, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для установки. Для Ubuntu ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ

Π‘Π•Π— слСша Π² ΠΊΠΎΠ½Ρ†Π΅! Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс сборки самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Для сборки достаточно ΠΏΡ€ΠΈΠ²Π΅Π»Π΅Π³ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ сборки ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² консоли пСрСстанут «бСспорядочно» Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ слова error. Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё скомпилировано ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ для установки.

Установка

Усилия ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ установку Π² послСдствии с Π»ΠΈΡ…Π²ΠΎΠΉ окупятся Π² случаС удалСния ΠΈΠ»ΠΈ обновлСния устанавливаСмого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ установка(Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ β„–1)

Установка ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ checkinstall. Для установки Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅

Для создания ΠΈ установки deb-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ установка(Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ β„–2)

БыстроС созданиС deb-ΠΏΠ°ΠΊΠ΅Ρ‚Π° Β«Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽΒ».

Установка (Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β„–3)

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° создания deb-ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описана Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ установка

Для установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ

Для удалСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°, установлСнного Π΄Π°Π½Π½Ρ‹ΠΌ способом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ исходников ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ‚Π°ΠΌ Π³Π΄Π΅ Π²Ρ‹ запускали make install).

Ошибки

НСобходимоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ с Π±ΡƒΠΊΠ²Π°ΠΌΠΈ mm Π² ΠΊΠΎΠ½Ρ†Π΅ описания β€” это ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для C++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Бписок для bmpx, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ для любой GTK2/Gnome ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π½Π΅ получаСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ, Ρ‚ΠΎ посмотритС Π½Π° этот список ΠΈ ΡΠ²Π΅Ρ€ΡŒΡ‚Π΅ с Ρ‚Π΅ΠΌ Ρ‡Ρ‚ΠΎ Ρƒ вас установлСно.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Unix ΠΊΠ°ΠΊ IDE: ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ

Под Unix сущСствуСт мноТСство компиляторов ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½ΠΎ здСсь ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ лишь gcc ΠΊΠ°ΠΊ срСдство компиляции C-ΠΊΠΎΠ΄Π°, ΠΈ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ коснСмся использования perl Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

GCC β€” это Π½Π°Π±ΠΎΡ€ компиляторов, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ‡Ρ‚Π΅Π½Π½Ρ‹ΠΌ возрастом ΠΈ распространяСмый ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPL. Он извСстСн ΠΊΠ°ΠΊ инструмСнт Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° C ΠΈ C++. Бвободная лицСнзия ΠΈ повсСмСстная Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах стали Π·Π°Π»ΠΎΠ³ΠΎΠΌ Π΅Π³ΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ популярности, хотя Π΅ΡΡ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ соврСмСнныС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ инфраструктуру LLVM, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Clang.

Основной исполняСмый Ρ„Π°ΠΉΠ» gcc Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ ΠΊΠ°ΠΊ компилятор Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, Π° слой абстракции Π½Π°Π΄ мноТСством ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов программирования, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… парсинг ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ, Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡƒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊ ΠΈΠ· ΠΊΠΎΠ΄Π° Π½Π° C, Π½ΠΎ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ всС шаги этого слоТного процСсса, ΠΈ ΠΏΡ€ΠΈ нСобходимости ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹.

Π—Π΄Π΅ΡΡŒ я Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ использованиС make-Ρ„Π°ΠΉΠ»ΠΎΠ², хотя ΠΎΠ½ΠΈ навСрняка понадобятся для любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° слоТнСС, Ρ‡Π΅ΠΌ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ». Make-Ρ„Π°ΠΉΠ»ΠΎΠ² я ΠΊΠΎΡΠ½ΡƒΡΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎ срСдствах Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сборки.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈ сборка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ компилируСтся Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Если ΠΊΠΎΠ΄ Π²Π΅Ρ€Π΅Π½, Π±ΡƒΠ΄Π΅Ρ‚ создан Π½Π΅Π»ΠΈΠ½ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ example.o Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΈΠ»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ сообщСния ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. Π—Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π³ΠΎ содСрТимоС Π½Π° языкС ассСмблСра ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Как Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ gcc сразу ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ассСмблСрный ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -S:

Π’Ρ‹Π²ΠΎΠ΄ ассСмблСрного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ самого исходника, Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Π½Π°Π±Ρ€Π°Π²:

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ C (cpp) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ опрСдСлСния макросов. Π­Ρ‚ΠΎ стандартная Ρ‡Π°ΡΡ‚ΡŒ процСсса компиляции gcc, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈΠΌ ΠΊΠΎΠ΄, Π²Ρ‹Π·Π²Π°Π² cpp Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ:

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ компиляции, с Π·Π°ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌΠΈ макросами ΠΈ подстановкой Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

БвязываниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Один ΠΈΠ»ΠΈ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ связаны Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ исполняСмый Ρ„Π°ΠΉΠ»:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ, сборка ΠΈ связываниС

ВсС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² ΠΎΠ΄ΠΈΠ½ шаг ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π­Ρ‚ΠΎΡ‚ способ ΠΏΡ€ΠΎΡ‰Π΅, Π½ΠΎ компиляция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ измСнявшийся ΠΊΠΎΠ΄, Π½ΠΎ ΠΎΠ± этом ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ связываниС

Π€Π°ΠΉΠ»Ρ‹ C ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³Ρƒ Π±Ρ‹Ρ‚ΡŒ явно Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -l:

Аналогично, Ссли ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ динамичСски ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΡƒΠΆΠ΅ скомпилированной систСмной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, доступной Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· систСмных ΠΏΠ°ΠΏΠΎΠΊ ( /lib ΠΈΠ»ΠΈ /usr/lib ), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ncurses, этого ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ использованиСм ΠΊΠ»ΡŽΡ‡Π° -l:

Если Π² процСссС компиляции Π²Π½Π΅ΡˆΠ½ΠΈΡ… связСй ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл внСсти ΠΈΡ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния:

ΠšΡΡ‚Π°Ρ‚ΠΈ, Makefile Π·Π°Ρ‚Π΅ΠΌ ΠΈ создан, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ нас ΠΎΡ‚ бСспокойства ΠΎ Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Π»ΠΎΡ‡Π°Ρ….

План компиляции

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ подробности Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΊΡƒΡ…Π½ΠΈ gcc, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ -v, ΠΈ ΠΏΠ»Π°Π½ компиляции Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π° ошибок:

Если Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΈΠ»ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚ΠΎ для аккуратности ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ -###:

ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ дСйствия gcc ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π±Π΅Π· нашСго Π²Π΅Π΄ΠΎΠΌΠ°, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги ΠΏΡ€ΠΈ компиляции.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ -Wall ΠΈ/ΠΈΠ»ΠΈ -pedantic, Ρ‡Ρ‚ΠΎΠ±Ρ‹ gcc ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π» нас ΠΎ случаях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ошибками, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠΈ Π±Ρ‹Ρ‚ΡŒ:

Π£Π΄ΠΎΠ±Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ Π² Makefile ΠΈΠ»ΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ makeprg для Vim, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ с ΠΎΠΊΠ½ΠΎΠΌ quickfix, ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ, совмСстимый ΠΈ Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ процСсса компиляции

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ -time, Ρ‡Ρ‚ΠΎΠ±Ρ‹ gcc ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π» Π² тСкстС Π²Ρ‹Π²ΠΎΠ΄Π° врСмя выполСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· шагов:

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ

Подобно любой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Bash, всС это ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ прямо ΠΈΠ· Vim:

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ Π² Unix-систСмах ΠΈΠ½ΠΎΠΉ. Π’ своих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Perl, Π½ΠΎ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ для ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Python ΠΈΠ»ΠΈ Ruby.

Inline-ΠΊΠΎΠ΄

МоТно строку Perl-ΠΊΠΎΠ΄Π° прямо Π½Π° исполнСниС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· пСрСчислСнных Π½ΠΈΠΆΠ΅ способов ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, самый простой ΠΈ ΠΎΠ±Ρ‰Π΅ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Perl; Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ синтаксис heredoc, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ β€” это классичСский ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Unix.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Π±ΡƒΠ΄Π½ΠΈΡ‡Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ прямо Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

МоТно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ синтаксис ΠΊΠΎΠ΄Π° Π±Π΅Π· Π΅Π³ΠΎ выполнСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π° -c:

ΠŸΠΎΡ€ΠΎΠΉ хочСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипт ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ исполняСмому Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΡƒ, Π½Π΅ бСспокоясь ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠ· сСбя прСдставляСт. Для этого Π² скрипт Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ «shebang«, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ слСдуСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π° исполнСниС Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρƒ послС этого ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ исполняСмого Ρ„Π°ΠΉΠ»Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ chmod. Π’Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ считаСтся ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΡƒΠ±Ρ€Π°Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ считаСтся ΠΏΠΎΡ‡Ρ‚ΠΈ настоящим исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ:

Π—Π°Ρ‚Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π±Π΅Π· указания ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°:

Вся эта кухня Ρ‚Π°ΠΊ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ стандартныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Linux-систСм, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ adduser, Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ скриптами Π½Π° Perl ΠΈΠ»ΠΈ Python.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ я расскаТу ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ с make для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², сравнимых с ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ IDE.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *