ΒΉ ΠΡΡ ΠΎΠΏΡΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ»Π° ΡΠΊΠ°Π·Π°Π½Π° ΠΎΠΏΡΠΈΡ -O3.
Π’Π°Π±Π». 1.21. ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° Comeau (Unix) GCC -g -g Intel (Linux) Metrowerks Visual C++ Intel (Windows) Π‘ΠΌ. ΡΠ°Π±Π». 1.22 Π‘ΠΌ. ΡΠ°Π±Π». 1 22 Comeau (Windows) To ΠΆΠ΅, ΡΡΠΎ ΠΈ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ΅ (-) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Ρ (/) Π’ΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ΅ (-) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Ρ (/) Borland -v -v Digital Mars -g -coΠ’Π°Π±Π». 1.22. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Visual C++ ΠΈΠ»ΠΈ Intel Π΄Π»Ρ Windows
ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° IDE optionsΒΉ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ -Z7 -debug C7 Compatible (ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ C7) ΠΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ .obj ΠΈ .exe -Zi [-Fd<pdb-file-for-obj>]. -debug[-pdb:<pdb-file-for-exe>] Program Database (Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) ΠΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ .pdb; ΠΎΠΏΡΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² .pdb -Zi [-Fd<pdbfile-for-obj>] -debug [-pdb:<pdb-file-for-exe>] Program Database for Edit & Continue (Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ) ΠΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ .pdb; ΠΎΠΏΡΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² .pdb. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈΒΉ Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ ΠΎΠΏΡΠΈΡΠΌ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Configuration PropertiesβΠ‘/Π‘++β GeneralβDebug Information Format (ΡΠΎΡΠΌΠ°Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ).
BoostBuild ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ: ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΠ΅Π»ΠΈ <variant>debug ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ variant=debug, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ debug.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ IDE ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Visual C++ IDE Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΎΠΊ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ Build ΠΎΠΏΡΠΈΡ Configuration Manager ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Debug. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Debug Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² CodeWarrior Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Metrowerks, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Β«ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈΒ» (stationery), IDE Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΠΈ. ΠΠΌΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌ, Π½ΠΎ ΠΎΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«debugΒ». Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ, Π² ΠΌΠ΅Π½Ρ Project Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ Set Default Target (ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ), Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ΅Π»Ρ Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
C++Builder Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½ΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ±ΠΎΡΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Project OptionsβCompiler ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Full debug (ΠΏΠΎΠ»Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ°). ΠΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡ Π²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ IDE, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Dev-C++, ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ Ρ 1.23 Π΄ΠΎ 1.25.
Π’Π°Π±Π». 1.23. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ ΠΈΠ· IDE
IDE ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Visual C++ ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Configuration PropertiesβC/C++βOptimization ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Optimization Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Disabled (ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ). ΠΠ»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ CodeWarrior Π ΠΎΠΊΠ½Π΅ Target Settings ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Code GenerationβGlobal Optimizations (Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°βΠ³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ) ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Off (Π²ΡΠΊΠ») C++Builder Π Project Options ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Compiler, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Code optimization (ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π°) Π²ΡΠ±Π΅ΡΠΈΡΠ΅ None Dev-C++ Π Project Options ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ CompilerβOptimization ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Perform a number of minor optimizations (Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ) Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ No (Π½Π΅Ρ), Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ CompilerβOptimizationβFurther optimizations (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ) ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ Optimize (ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ), Optimize more (Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ) ΠΈ Best Optimization (Π½Π°ΠΈΠ»ΡΡΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ) Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NoΠ’Π°Π±Π». 1.24. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ· IDE
IDE ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Visual C++ ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Configuration PropertiesβC/C++βOptimization ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ Inline Function Expansion (ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ) Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Default (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) CodeWarrior Π ΠΎΠΊΠ½Π΅ Target Settings ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Language SettingsβC/C++ Language ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Inline Depth (Π³Π»ΡΠ±ΠΈΠ½Π° Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ) Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Don't Inline (Π½Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ) C++Builder Π Project Options ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Compiler ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Debugging ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ Disable inline expansions (ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ) Dev-C++ Π‘ΠΌ. Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ GCC Π² ΡΠ°Π±Π». 1.20 ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ΅ΠΏΡΡ 1.20Π’Π°Π±Π». 1.25. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² IDE
IDE ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Visual C++ Π‘ΠΌ. ΡΠ°Π±Π». 1.22 CodeWarrior Π ΠΎΠΊΠ½Π΅ Target Settings ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Language SettingsβLinkerβPPC Mac OS X Linker ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ Generate SYM File (Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ SYM-ΡΠ°ΠΉΠ») ΠΈ Full Path in SYM Files (ΠΏΠΎΠ»Π½ΡΠ΅ ΠΏΡΡΠΈ Π² SYM-ΡΠ°ΠΉΠ»Π°Ρ ) C++Builder Π Project Options ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Compiler ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΊΠΈ Debug information ΠΈ Line Number Information (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°Ρ ΡΡΡΠΎΠΊ) Dev-C++ Π‘ΠΌ. Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ GCC Π² ΡΠ°Π±Π». 1.21 ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ΅ΠΏΡΡ 1.20 ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΡΠ΅ Π½Π°Π±ΠΎΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Π‘++, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΈ ΡΠΈΠΏΡ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ , Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΡΠΈΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Visual C++ ΠΎΠΏΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° -Z7 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π° ΠΎΠΏΡΠΈΠΈ -Zi ΠΈ -ZI ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π° Π² ΡΠ°ΠΉΠ»Π°Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .pdb. ΠΠΏΡΠΈΡ -ZI Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Edit and Continue (ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ IDE ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Ρ ΡΠ΅ΡΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ CodeWarrior Π΄Π»Ρ Mac OS X ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ .SYM.
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π°ΠΆΠ΅ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ ΠΎΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π² ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΡΡΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ ΠΆΠ΅ Π²Π΅ΡΠ½ΠΎ ΠΈ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ: ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅Π»Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΡΠ΅ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ°. ΠΠΎΠΌΠΈΠΌΠΎ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΅Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΠ±ΡΡΠ½ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎ ΠΌΠ΅ΡΡΠ°Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅Π»Π°ΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.