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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Comeau Π² этой Π³Π»Π°Π²Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ libcomo ΠΈ Ρ‡Ρ‚ΠΎ компилятор настроСн Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ автоматичСски Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ libcomo. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ с Comeau 4.3 3 ΠΈ libcomo 31, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ GCC 3.4.3 Π½Π° GNU/Linux (Fedora Core 3) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Visual C++ .NET 2003 Π½Π° Windows 2000 Professional. (Π‘ΠΌ. Ρ‚Π°Π±Π» 1.4.)

Digital Mars

Digital Mars β€” это компилятор Π‘++, написанный Π’Π°Π»ΡŒΡ‚Π΅Ρ€ΠΎΠΌ Π‘Ρ€Π°ΠΉΡ‚ΠΎΠΌ (Walter Bright). Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ бСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с www.digitalmars.com, Π° Π·Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сумму ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ CD, содСрТащий компилятор Digital Mars, IDE ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты. БСсплатная вСрсия компилятора ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Digital Mars ΠΈΠ· этой Π³Π»Π°Π²Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° CD.

Digital Mars β€” это ΠΎΡ‡Π΅Π½ΡŒ быстрый компилятор, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ сильно ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. К соТалСнию, Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с компиляциСй ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΈΠ΄ΠΈΠΎΠΌΡ‹ шаблонов. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π’Π°Π»ΡŒΡ‚Π΅Ρ€ Π‘Ρ€Π°ΠΉΡ‚ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ стрСмится ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Digital Mars ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ стандарту.

Digital Mars поставляСтся с двумя стандартными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ: ΠΏΠΎΡ€Ρ‚ΠΎΠΌ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ STLPort ΠΈ Π±ΠΎΠ»Π΅Π΅ старой "стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, которая Π½Π΅ соотвСтствуСт стандарту ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Π°. Π’ цСлях ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости STLPort Π΄ΠΎΠ»ΠΆΠ΅Π½ явно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ВсС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Digital Mars Π² этой Π³Π»Π°Π²Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ STLPort.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Digital Mars Π² этой Π³Π»Π°Π²Π΅ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ с Digital Mars 8.45 Π½Π° Windows 2000 Professional.

ΠžΠ±Π·ΠΎΡ€ IDE

Π’ этой Π³Π»Π°Π²Π΅ я ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ IDE: Microsoft Visual Π‘++, Metrowerks CodeWarrior, Borland C++Builder ΠΈ Bloodshed Software Dev-C++. Π•ΡΡ‚ΡŒ большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… IDE, Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ½ΠΎΠΉ, β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Apple Xcode ΠΈ Eclipse Project, β€” Π½ΠΎ рассмотрСниС этих Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… IDE Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ достаточно ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° для Π½Π°Ρ‡Π°Π»Π° изучСния Π΄Ρ€ΡƒΠ³ΠΈΡ… IDE.

Как ΠΈ Π² случаС с инструмСнтами ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Π½Π΅ относящийся ΠΊ вашСй IDE.

Visual C++

Microsoft Visual C++ β€” это главная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C++ для Microsoft Windows. Она доступна ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€Π° Visual Studio ΠΈ поставляСтся Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с большим Π½Π°Π±ΠΎΡ€ΠΎΠΌ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Windows. Для пСрСносимой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° C++ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ Π΅Π΅ качСствами ΡΠ²Π»ΡΡŽΡ‚ΡΡ

β€’ Π²Ρ‹ΡΠΎΠΊΠΎΠ΅ соотвСтствиС компилятора стандарту Π‘++;

β€’ ΡΡ‚андартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C++ Dinkumware;

β€’ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ;

β€’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отслСТиваСт зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π¨ΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нСсколько вСрсий Visual Studio. Π’Π°ΠΊ ΠΊΠ°ΠΊ названия Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ, я пСрСчислил Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ вСрсии Π² Ρ‚Π°Π±Π». 1.4.

ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия Visual Π‘++, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ пСрвоклассныС компилятор ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, находится Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строкС Ρ‚Π°Π±Π». 1.4. ВсС ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ стандарта.

CodeWarrior

CodeWarrior β€” это кросс-платформСнная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Metrowerks. Она ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Visual Π‘++, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ:

β€’ Π²Ρ‹ΡΠΎΠΊΠΎΠ΅ соотвСтствиС компилятора стандарту Π‘++;

β€’ ΠΏΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ C++;

β€’ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ;

β€’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отслСТиваСт зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Одной ΠΈΠ· ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… сторон CodeWarrior Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ являлось большоС количСство ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ Π±Ρ‹Π» доступСн, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ сказано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, Π΅Π³ΠΎ линия для Windows Π±Ρ‹Π»Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, Π° линия для Macintosh Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° Π² скором Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Однако ΠΎΠ½ остаСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ встраиваСмых систСм.

ΠŸΡ€ΠΈ обсуТдСнии CodeWarrior IDE я ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ CodeWarrior 10 для Mac OS X. CodeWarrior IDE для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° эту Π²Π΅Ρ€ΡΠΈΡŽ.

C++Builder

C++Builder β€” это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Borland для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Windows. Одной ΠΈΠ· Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‡Π΅Ρ€Ρ‚ являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Borland's Visual Component Library. Однако для пСрСносимой (мобильной) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° C++ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ Π΅Π΅ качСствами ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

β€’ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ компилятор Π‘++;

β€’ ΡΡ‚андартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° STLPort;

β€’ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ;

β€’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ зависимостями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π― ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ C++Builder, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ большоС сообщСство ΠΏΡ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

C++Builder Π½Π΅ слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с C++BuilderX β€” кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Borland Π² 2003 Π³ΠΎΠ΄Ρƒ. Π₯отя C++BuilderX являСтся ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ инструмСнтом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π» коммСрчСского успСха ΠΈ нСизвСстно, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Borland Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹Π΅ вСрсии.

Dev-C++

Bloodshed Software Dev-C++ β€” это бСсплатная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ C++ для Windows, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡ€Ρ‚ MinGW GCC, описанный Π² Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π΅ 1.1. Он содСрТит Π²ΠΏΠΎΠ»Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс для ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° GNU.

Dev-C++ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ графичСский интСрфСйс для многочислСнных ΠΎΠΏΡ†ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки GCC: Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, вводя Π² тСкстовыС поля ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅Π³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΅Π½. НСсмотря Π½Π° эти ограничСния, Dev-C++ поддСрТиваСтся большим сообщСством ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ студСнтов ΠΌΠ½ΠΎΠ³ΠΈΡ… унивСрситСтов. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ срСда для Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π‘++, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π‘++.

John, Paul, George, and Ringo

Co Π²Ρ€Π΅ΠΌΠ΅Π½, ΠΊΠΎΠ³Π΄Π° Π² 1978 Π³ΠΎΠ΄Ρƒ Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ (Brian Kernighan) ΠΈ ДСннис Π ΠΈΡ‚Ρ‡ΠΈ (Dennis Ritchie) ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΊΠ½ΠΈΠ³Ρƒ The Π‘ Programming Language (Π―Π·Ρ‹ΠΊ программирования Π‘), стало Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠ΅ΠΉ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ языка программирования с написания, компиляции ΠΈ запуска нСбольшой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΊΠΈ, которая ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π² консоли Β«Hello, World!Β» (Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!Β»). Π’Π°ΠΊ ΠΊΠ°ΠΊ эта Π³Π»Π°Π²Π° описываСт статичСскиС ΠΈ динамичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠ½Π΅ потрСбуСтся нСсколько Π±ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ 1.1, 1.2 ΠΈ 1.3 ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ исходный ΠΊΠΎΠ΄ прилоТСния hellobeatles, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст

John, Paul, George, and Ringo

Π½Π° консоль. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ исходного Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ я Ρ€Π°Π·Π±ΠΈΠ» Π΅Π³ΠΎ Π½Π° Ρ‚Ρ€ΠΈ модуля: ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libjohnpaul, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libgeorgeringo ΠΈ исполняСмый Ρ„Π°ΠΉΠ» hellobeatles. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, хотя каТдая ΠΈΠ· этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» .cpp, я, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², содСрТащих Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ исходного Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·Π±ΠΈΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° нСсколько исходных Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Ρ†Π΅ΠΏΡ‚Ρ‹ Π² этой Π³Π»Π°Π²Π΅, создайтС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ располоТСнныС Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ johnpaul, georgeringo, hellobeatles ΠΈ binaries. Π’ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ помСститС исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² 1.1, 1.2 ΠΈ 1.3. ЧСтвСртая дирСктория Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… IDE.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ libjohnpaul прСдставлСн Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1.1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ интСрфСйс libjohnpaul состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ johnpaul(), объявлСнной Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ johnpaul.hpp. Ѐункция johnpaul() ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ:

John, Paul,

Π½Π° консоль. РСализация johnpaul() Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° Π΄Π²Π°. исходных Ρ„Π°ΠΉΠ»Π° β€” john.cpp ΠΈ paul.cpp, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1.1. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ libjohnpaul


johnpaul/john.hpp

#ifndef JOHN_HPP_INCLUDED

#define JOHN_HPP_INCLUDED


void john(); // ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ "John, "

#endif // JOHN _HPP_INCLUDED


johnpaul/john.cpp

#include <iostream>

#include "john.hpp"


void john() {

 std::cout << "John, ";

}


johnpaul/paul.hpp

#ifndef PAUL_HPP_INCLUDED

#define PAUL_HPP_INCLUDED


void paul(); // ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ " Paul, "


#endif // PAUL_HPP_INCLUDED


johnpaul/paul.cpp

#include <iostream>

#include "paul.hpp"


void paul() {

 std::cout << "Paul, ";

}


johnpaul/johnpaul.hpp

#ifndef JOHNPAUL_HPP_INCLUDED

#define JOHNPAUL_HPP_INCLUDED


void johnpaul(); // ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ "John, Paul, "


#endif // JOHNPAUL_HPP_INCLUDED


johnpaul/johnpaul.cpp

#include "john.hpp"

#include "paul.hpp"

#include "johnpaul.hpp"


void johnpaul() {

 john();

 paul();

}

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ libgeorgeringo прСдставлСн Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1.2. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ интСрфСйс libgeorgeringo состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ georgeringo(), объявлСнной Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ georgeringo.hpp. Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, функция georgeringo() ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ:

George, and Ringo

Π½Π° консоль. И снова рСализация georgeringo() Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π° исходных Ρ„Π°ΠΉΠ»Π° β€” george.cpp ΠΈ ringo.cpp.