hellobeatles: johnpaul georgeringo
Π Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π² Π½Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° ΡΠ²Π½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ.
Π‘ΠΌΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅Π Π΅ΡΠ΅ΠΏΡΡ 1.5, 1.10 ΠΈ 1.13.
1.19. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°
ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° name, ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² Π΅ΠΌΡ Π»ΠΈΠ±ΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ value.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°Π±Π». 1.16. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π² IDE ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 1.17. Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Boost.Build, ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π²ΠΈΠ΄Π° <define>name[=value], ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°Π±Π». 1.15 ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1.12.
Π’Π°Π±Π». 1.16. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΠΏΡΠΈΠΈ ΠΡΠ΅ -Dname[-value]Π’Π°Π±Π». 1.17. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ° ΠΈΠ· IDE
IDE ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Visual C++ ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Configuration PropertiesβC/C++βPreprocessor ΠΈ Π² Preprocessor Definitions (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°) Π²Π²Π΅Π΄ΠΈΡΠ΅ name[=value], Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ CodeWarrior Π ΠΎΠΊΠ½Π΅ Target Settings ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Language SettingsβC/C++ Preprocessor ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅: #define name[=value] Π² ΠΏΠΎΠ»Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Prefix Text C++Builder Π Project Options ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Directories/Conditionals ΠΈ Π² Preprocessor Definitions Π²Π²Π΅Π΄ΠΈΡΠ΅ name[=value], Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Dev-C++ Π Project Options Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Parameters ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅: -Dname[=value] Π² ΠΎΠ±Π»Π°ΡΡΠΈ C++ Compiler ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ C++ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C++ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π» ΠΈ Π² Windows, ΠΈ Π² Unix, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Windows ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ΄ Unix, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1.25.
ΠΡΠΈΠΌΠ΅Ρ 1.25. Π£ΡΠ»ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ²
#ifdef _WIN32
# include <windows.h>
#else // He Windows - ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π² Unix
# include <sys/stat.h>
#endif
bool is_directory(const char* path) {
#ifdef _WIN32
// ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Windows
#else
// ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Unix
#endif
}
Π Windows Π²ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ° GCC Cygwin, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΎΡ _WIN32. ΠΠ°ΠΊΡΠΎΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ. ΠΡΠΈΠΌΠ΅Ρ 1.25 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ WIN32 Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, ΠΈ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΊΠΎΠ΄Π°.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΡΡΠΎ Π½Π°ΡΡΡΠΎΠ΅ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π». 1.15, 1.16 ΠΈ 1.17, ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ 1.2. Π Windows ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ DLL georgeringo.dll ΡΡΠ½ΠΊΡΠΈΡ georgeringo() Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ __declspec(dllexport), Π° Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ β Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ __declspec(dllimport). ΠΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ΅ΡΠ΅ΠΏΡΠ΅ 1.4, ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ±ΠΎΡΠΊΠΈ DLL ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° GEORGERINGO_DLL ΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΡΡΡ DLL.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΎΡΠ°, ΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π΅ΠΌΡ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 1.25, ΡΡΠ° ΡΠ°Π·Π½ΠΈΡΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠ°ΠΊΡΠΎΡ ΡΠ°ΡΠΊΡΡΠ²Π°Π»ΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π° -D<name>=<value>.
Π‘ΠΌΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅Π Π΅ΡΠ΅ΠΏΡΡ 1.4, 1.9, 1.12 ΠΈ 1.17.
1.20. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· IDE
ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΡ ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² IDE.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΠ½ΠΎΠ³ΠΈΠ΅ IDE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΡ. ΠΡΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π». 1.18 ΠΈ 1.19.
Π’Π°Π±Π». 1.18. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈΠ· IDE
IDE ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Visual C++ ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Configuration PropertiesβΠ‘/Π‘++βCommand Line (ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°) ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Π² ΠΏΠΎΠ»Π΅ Additional options (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ) CodeWarrior ΠΠ΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ C++Builder ΠΠ΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Dev-C++ Π Project Options Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Parameters ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Π² ΠΏΠΎΠ»Π΅ C++ CompilerΠ’Π°Π±Π». 1.19. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° ΠΈΠ· IDE
IDE ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Visual C++ ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Configuration PropertiesβLinkerβCommand Line ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Π² ΠΏΠΎΠ»Π΅ Additions options Metrowerks ΠΠ΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ C++Builder ΠΠ΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Dev-C++ Π Project Options Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Parameters ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Π² ΠΏΠΎΠ»Π΅ Linker ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅Visual C++ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ²Π½ΠΎ. CodeWarrior ΠΈ C++Builder Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ²Π½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Visual C++ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ IDE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Dev-C++ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³Π΄Π΅-ΡΠΎ ΠΏΠΎΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅: Ρ ΠΎΡΡ Dev-C++ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΡΠΈΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ IDE, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ GCC, ΠΏΡΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
1.21. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ
ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ±ΡΠ°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
β’ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ;
β’ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ (inline) ΡΡΠ½ΠΊΡΠΈΠΉ;
β’ Π²ΠΊΠ»ΡΡΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° 1.20 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π° ΡΠ°Π±Π». 1.21 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π’Π°Π±Π». 1.20. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ GCC -O0 -fno-inlineΒΉ Visual C++ Intel (Windows) -Od -Ob0 Intel (Linux) -O0 -Ob0 -opt off -inline off Comeau (Unix) -O0 --no_inlining Comeau (Windows) To ΠΆΠ΅, ΡΡΠΎ ΠΈ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ΅ (-) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Ρ (/) Borland -Od -vi- Digital Mars -o+none -S -CΒΉ ΠΡΡ ΠΎΠΏΡΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π° ΠΎΠΏΡΠΈΡ -O3.