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

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

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

Π Π΅Ρ†Π΅ΠΏΡ‚ 1.14.

1.2. Π‘Π±ΠΎΡ€ΠΊΠ° простого прилоТСния Β«Hello, WorldΒ» ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Β«Hello, WorldΒ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 1.4.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1.4. ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Hello, WorldΒ»


hello.cpp

#include <iostream>


int main() {

 std.:cout << "Hello, World!\n";

}

РСшСниС

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги.

1. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды окруТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для вашСго инструмСнтария.

2. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ компилятору ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ для установки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды окруТСния пСрСчислСны Π² Ρ‚Π°Π±Π» 1.5. Π­Ρ‚ΠΈ сцСнарии располоТСны Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (Ρ‚Π°Π±Π». 1.3), Если ваш инструмСнтарий Π² Ρ‚Π°Π±Π». 1.5 Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, пропуститС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows, запуститС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сцСнарий ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π° Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Unix, Ρ‚ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² качСствС источника ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния.


Π’Π°Π±Π». 1.5. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ для установки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды окруТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ Visual C++ vcvars32.bat Intel (Windows) iclvars.batΒΉ Intel (Linux) iccvars.sh ΠΈΠ»ΠΈ iccvars.csh Metrowerks (Mac OS X) iccvars.sh ΠΈΠ»ΠΈ mwvars.cshΒ² Metrowerks (Windows) cwenv.bat Comeau Π’ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ инструмСнтария

ΒΉ Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях компилятора Intel этот сцСнарий назывался iccvars.bat.

Β² Π’ вСрсиях CodeWarrior Π΄ΠΎ 10.0 имСлся СдинствСнный сцСнарий csh с ΠΈΠΌΠ΅Π½Π΅ΠΌ mwvars.


ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для компиляции ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ hello.cpp ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π». 1.6. Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша тСкущая дирСктория Π±Ρ‹Π»Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ, содСрТащСй hello.cpp, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ дирСктория, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится компилятор ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π±Ρ‹Π»Π° ΡƒΠΊΠ°Π·Π°Π½Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды PATH. Если Π½Π° шагС 1 Π²Ρ‹ запустили сцСнарий, Ρ‚ΠΎ послСднСС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΎ автоматичСски. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH Π΄ΠΎΠ±Π°Π²ΠΈΠ» инсталлятор ΠΏΡ€ΠΈ установкС инструмСнтария. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эту Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Ρ‚Π°Π±Π». 1.7, Π»ΠΈΠ±ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.


Π’Π°Π±Π». 1.6. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для компиляции ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ hello.cpp Π·Π° ΠΎΠ΄ΠΈΠ½ шаг

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Командная строка GCC g++ -o hello hello.cpp Visual C++ cl -nologo -EHsc -GR -Zc:forScope -Zc:wchar_t -Fehello hello.cpp Intel (Windows) id -nologo -EHsc -GR -Zc:forScope -Zc:wchar_t -Fehello hello.cpp Intel (Linux) icpc -o hello hello.cpp Metrowerks mwcc -wchar_t on -cwd include -o hello hello.cpp Comeau como -o hello hello.cpp Borland bcc32 -q -ehello hello.cpp Digital Mars dmc -Ae -Ar -l<dmcroot>/stlport/stlport -o hello hello.cpp

Π’Π°Π±Π». 1.7. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды окруТСния PATH для ΠΎΠ΄Π½ΠΎΠΉ сСссии Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Командная строка bash, sh, ksh (Unix) export PATH=<directory>:$PATH csh, tsch (Unix) setenv PATH <directory>:$PATH cmd.exe (Windows) set PATH=<direcfory>;%PATH%

НапримСр, ΠΏΡ€ΠΈ использовании Microsoft Visual Studio .NET 2003 ΠΈ установкС Π΅Π΅ ΠΏΠΎ стандартному ΠΏΡƒΡ‚ΠΈ Π½Π° диск Π‘ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ hello.cpp, ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

> "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"

Setting environment for using Microsoft Visual Studio .NET 2003 tools.

(If you have another version of Visual Studio or Visual C++ installed

and wish to use its tools from the command line, run vcvars32.bat for

that version.)

> cl -nologo -EHsn -GR -Zc:forScope -Zc:wchar_t -Fehello hello.cpp hello

hello.cpp

hello

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

> hello

Hello World!

Аналогично ΠΏΡ€ΠΈ использовании Intel 9.0 для Linux ΠΈ установкС Π΅Π³ΠΎ ΠΏΠΎ стандартному ΠΏΡƒΡ‚ΠΈ /opt/intel/cc/9.0 ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ bash, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ hello.cpp, ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ . /opt/intel/cc/9.0/bin/iccvars.sh

$ icpc -ΠΎ hello hello.cpp

$ ./hello

Hello, World!

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅

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

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

Один ΠΈΠ· способов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ сцСнарий β€” Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ инструмСнта ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠ°ΠΊ я продСмонстрировал для Visual C++ ΠΈ для Intel 9.0 для Linux. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ установки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды постоянными, с Ρ‚Π΅ΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ запускС сСссии ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этот сцСнарий. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, зависит ΠΎΡ‚ вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ вашСй ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Однако ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ постоянных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды являСтся ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΈΠ΄Π΅Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ инструмСнтов ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ инструмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ Π² процСссС сборки Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ инструмСнта. НапримСр, Ссли Ρƒ вас установлСно нСсколько вСрсий Visual Π‘++, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм инструмСнтов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π²Ρ‹ запустили ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ vcvars32.bat. Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Visual C++ ΠΈ Digital Mars содСрТат инструмСнты с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ link.exe ΠΈ lib.exe.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ строки Π² Ρ‚Π°Π±Π». 1.7. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ трСбуСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚Ρƒ строку, которая соотвСтствуСт Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС информация, пСрСдаваСмая компилятору, дСлится Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.

β€’ Π˜ΠΌΡ (ΠΈΠΌΠ΅Π½Π°) Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ (исходного) Ρ„Π°ΠΉΠ»Π° (Ρ„Π°ΠΉΠ»ΠΎΠ²).

β€’ Π˜ΠΌΡ (ΠΈΠΌΠ΅Π½Π°) Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (Ρ„Π°ΠΉΠ»ΠΎΠ²).

β€’ ΠŸΡƒΡ‚ΠΈ поиска Ρ„Π°ΠΉΠ»ΠΎΠ².

β€’ ΠžΠ±Ρ‰Π°Ρ конфигурационная информация.

Π’ Ρ‚Π°Π±Π». 1.6 ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» hello.cpp, ΠΈ ΠΎΠ½ пСрСдаСтся компилятору с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ указания Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. НС ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Π² ΠΊΠ°ΠΊΠΎΠΌ мСстС строки находится имя Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π½Π΅ находится Π² сСрСдинС Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π’ Ρ‚Π°Π±Π». 1.7 я помСстил hello.cpp Π² самый ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π’Π°ΠΊΠΆΠ΅ Π² Π½Π΅ΠΉ присутствуСт ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» β€” hello.exe ΠΈΠ»ΠΈ hello, Π² зависимости ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Однако Π² этом случаС способ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° компилятору зависит ΠΎΡ‚ инструмСнтария. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ инструмСнтов для указания Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ -ΠΎ <file>, Π½ΠΎ Visual C++ ΠΈ Intel для Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ -Fe<file>, a Borland ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ -e<file>. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π° Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.