Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C++. Π‘Π±ΠΎΡ€Π½ΠΈΠΊ Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор Π”. БтСфСнс

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ β€” это инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для запуска ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ bash Π² Unix ΠΈΠ»ΠΈ cmd.exe Π² Microsoft Windows. ИмСна Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ вся ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ нСобходимая настроСчная информация ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² компилятор, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ ΠΊΠ°ΠΊ тСкст Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Однако Π²Ρ‹Π·ΠΎΠ² этих ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ довольно ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»Π΅Π½. Π”Π°ΠΆΠ΅ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ инструмСнта ΠΈ порядок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ исходныС ΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ исходного Ρ„Π°ΠΉΠ»Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ статичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ трСбуСтся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ динамичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ. Если Π²Ρ‹ пСрСсобСрСтС большС Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Π΅ΠΌ трСбуСтся, Π²Ρ‹ зря ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ врСмя, Π° Ссли пСрСсобСрСтС Π½Π΅ всС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ошибки ΠΏΡ€ΠΈ сборкС ΠΈΠ»ΠΈ нСработоспособноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ случаС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π‘++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ тысячи ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ исходныС Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, сборка ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки просто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°.

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ сборкС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π‘++.

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

IDE ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ исходныС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π½Π°Π±ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ IDE ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ связаны с СдинствСнным Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ нСсколькими Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ отладочная ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ сборки прилоТСния. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ IDE позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅.

β€’ Π‘истСма сборки прСдоставляСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ тСкстового Ρ„Π°ΠΉΠ»Π° для описания Π½Π°Π±ΠΎΡ€Π° исходных ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠ· Π½ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнт сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ эти тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, вызывая ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ эти тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Π° инструмСнт сборки вызываСтся ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСмы сборки ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ для рСдактирования этих Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° инструмСнта сборки графичСский интСрфСйс.

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ IDE ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, систСма сборки ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ†Π΅Π»ΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ†Π΅Π»Π΅ΠΉ соотвСтствуСт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ дСйствиям, выполняСмым инструмСнтом сборки, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ установка прилоТСния.

НаиболСС часто Π² качСствС инструмСнта сборки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° make; тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½Π° основана, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ makefile (make-Ρ„Π°ΠΉΠ»). Π₯отя имССтся мноТСство вСрсий make, Π² этой Π³Π»Π°Π²Π΅ я ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽ GNU make β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΡƒΡŽ ΠΈΠ½ΠΊΠ°Ρ€Π½Π°Ρ†ΠΈΡŽ make. GNU make β€” это ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π‘++. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ ряд прСимущСств ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ понимаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. К соТалСнию, Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ GNU make ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ трСбуСтся, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚Π°ΠΊ просто, особСнно Π² случаС слоТных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнтарии. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ я Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ Boost.Build β€” ΠΌΠΎΡ‰Π½ΡƒΡŽ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡƒΡŽ систСму сборки, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для сборки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π‘++.

Π—Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ исслСдованиСм GNU make ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ΅ΠΊΠ»Π΅Π½Π±ΡƒΡ€Π³Π° (Robert Mecklenburg) Managing Projects with GNU make, Third Edition (ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ O'Reilly).

Boost.Build Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Boost C++ Libraries. Она ΡƒΠΆΠ΅ нСсколько Π»Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ большим сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ постоянно Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ΡΡ. Boost.Build ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ инструмСнт сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся bjam, ΠΈ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Jamfile (Jam-Ρ„Π°ΠΉΠ»Ρ‹). Π•Π΅ самой сильной стороной являСтся простота, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ слоТными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ содСрТащими нСсколько сборочных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. Π₯отя Boost.Build ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создавалась ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ систСмы сборки Perforce's Jam, ΠΎΠ½Π° с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π»Π°ΡΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ сдачи этой ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Boost.Build Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠΉ основной вСрсии этой систСмы сборки, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° описываСтся Π² этой Π³Π»Π°Π²Π΅

ΠžΠ±Π·ΠΎΡ€ инструмСнтария

Π’ этой Π³Π»Π°Π²Π΅ я Π±ΡƒΠ΄Ρƒ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ сСмь Π½Π°Π±ΠΎΡ€ΠΎΠ² инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки: GCC, Visual C++, Intel, Metrowerks, Borland, Comeau ΠΈ Digital Mars. Π’Π°Π±Π»ΠΈΡ†Π° 1.2 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструмСнтариСв, Π° Ρ‚Π°Π±Π». 1.3 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π³Π΄Π΅ ΠΎΠ½ΠΈ располоТСны Π² вашСй систСмС, Ссли ΠΎΠ½ΠΈ установлСны. ИмСна инструмСнтов для Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ суффикс .exe, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся для исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Windows. Для инструмСнтария, доступного ΠΊΠ°ΠΊ для Windows, Ρ‚Π°ΠΊ ΠΈ для Unix, я Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽ этот суффикс Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.


Π’Π°Π±Π». 1.2. ИмСна инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΌ инструмСнтарии

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ Архиватор GCC g++[.exe] g++ ar[.exe] ranlib[.exe] Visual C++ cl.exe link.exe lib.exe Intel (Windows) icl.exe xilink.exe xilib.exe Intel (Linux) lcpc icpc arranlib Metrowerks mwcc[.exe] mwld[.exe] mwld[.exe] Comeau como[.exe] como[.exe] Зависит ΠΎΡ‚ инструмСнтария Borland bcc32.exe bcc32.exe ilink32.exe tlib.exe Digital Mars dmc.exe link.exe lib.exe

Π’Π°Π±Π». 1.3. РасполоТСниС Π²Π°ΡˆΠΈΡ… инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ РасполоТСниС GCC (Unix) ΠžΠ±Ρ‹Ρ‡Π½ΠΎ /usr/bin ΠΈΠ»ΠΈ /usr/local/bin GCC (Cygwin) ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ bin установки Cygwin GCC (MinGW) ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ bin установки MinGW Visual C++ ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ VC/bin установки Visual StudioΒΉ Intel (Windows) ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ Bin установки компилятора Intel Intel (Linux) ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ bin установки компилятора Intel Metrowerks ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ Other Metrowerks Tools/Command Line Tools установки CodeWarrior Comeau ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ bin установки Comeau Borland ΠŸΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ Bin установки C++Builder, C++BuilderX ΠΈΠ»ΠΈ инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Borland

ΒΉ Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях Visual Studio дирСктория VC Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ VC98 ΠΈΠ»ΠΈ Vc7.


ΠŸΡƒΡΡ‚ΡŒ количСство инструмСнтария вас Π½Π΅ ΠΏΡƒΠ³Π°Π΅Ρ‚ - Π²Π°ΠΌ Π½Π΅ трСбуСтся ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΡ… всС. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ относится ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ. Однако, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ инструмСнтарии, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΎ Visual C++ ΠΈ GCC, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это основной инструмСнтарий для Windows ΠΈ Unix.