ΠΡΠΈΠΌΠ΅ΡΡ:
/* ΠΏΡΠΈΠΌΠ΅Ρ 1 */
#if defined(CREDIT)
credit();
#elif defined (DEBIT)
debit();
#else
printerror();
#endif
/* ΠΏΡΠΈΠΌΠ΅Ρ 2 */
#if DLEVEL > 5
#define SIGNAL 1
#if STACKUSE == 1
#derine STACK 200
#else
#define STACK 100
#endif
#else
#define SIGNAL 0
#if STACKUSE == 1
#define STACK 100
#else
#define STACK 50
#endif
#endif
/* ΠΏΡΠΈΠΌΠ΅Ρ 3 */
#if DLEVEL == 0
#define STACK 0
#elif DLEVEL == 1
#define STACK 100
#elif DLEVEL > 5
display(debugptr);
#else
#define STACK 200
#endif
/* ΠΏΡΠΈΠΌΠ΅Ρ 4 */
#define REG 1 register
#define REG2 register
#if defined (M_86)
#define REG3
#define REG4
#else
#ifdefined(M_68000)
#define REG4 register
#endif
#endif
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #if, #elif, #else, #endif ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠ΅Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ credit ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° CREDIT. ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° DEBIT, ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ debit. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· .ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ printerror. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ CREDIT ΠΈ credit ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° DLEVEL ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #define.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π΄Π²Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π°Π±ΠΎΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² #if, #else, #endif. ΠΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ DLEVEL Π±ΠΎΠ»ΡΡΠ΅ 5. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π²ΡΠΎΡΠΎΠΉ Π½Π°Π±ΠΎΡ.
Π ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΊΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ DLEVEL. ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° STACK ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 0, 100 ΠΈΠ»ΠΈ 200, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ DLEVEL. ΠΡΠ»ΠΈ DLEVEL Π±ΠΎΠ»ΡΡΠ΅ 5, ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ display, Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° STACK Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ.
Π ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ .
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ register, ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠ°Π½ΡΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΏΠΎΠ·ΠΆΠ΅, Π²ΡΠΈΠ³ΡΡΡ Π² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ REG1 ΠΈ REG2 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° register. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π΄Π²ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ b ΠΈ c.
func(REG3 int Π°)
{
REG1 int b;
REG2 int c;
REG4 int d;
}
ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π_86, ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ REG3 ΠΈ REG4 ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΏΡΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ ΠΈΡ Π½Π° ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ. Π Π΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ°ΠΌΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ b ΠΈ Ρ. ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π_68000, ΡΠΎ Π²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ register.
ΠΡΠ»ΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΠ½ΡΡΠ°Π½Ρ β Π½ΠΈ Π_86, Π½ΠΈ Π_68000, β ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°, b ΠΈ Ρ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #ifdef ΠΈ #ifndef
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
#ifdef <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>
#ifndef <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #if, Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ #ifdef ΠΈ #ifndef ΠΌΠΎΠΆΠ΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² #elif ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #else. ΠΠ°Π±ΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #endif.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² #ifdef ΠΈ #ifndef ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #if, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ defined(<ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>). ΠΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΡΠ·ΡΠΊΠ° Π‘ΠΈ. ΠΠ»Ρ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #if Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ defined(<ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>).
ΠΠΎΠ³Π΄Π° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #ifdef, ΠΎΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π»ΠΈ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ> Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #define. ΠΡΠ»ΠΈ Π΄Π°, ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ β Π»ΠΎΠΆΠ½ΡΠΌ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #ifndef ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π° ΠΏΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #ifdef. ΠΡΠ»ΠΈ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ> Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #define, ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #undef, ΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΡΠΎΠΊ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
#line <ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°> ["ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°"]
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #line ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ·ΡΠΊΠ° Π‘ΠΈ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ. ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°: ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ <ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°>, Π° ΡΠ΅ΠΊΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡ Π½ΠΎΠΌΠ΅Ρ <ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°>. ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΠ΅ΡΡΠΈΠΊ Π½ΠΎΠΌΠ΅ΡΠΎΠ² ΡΡΡΠΎΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #line ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ "Π·Π°Π±ΡΠ²Π°Π΅Ρ" ΠΈΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΆΠ΅ Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #line ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΠ»ΠΈΡΡ Π½Π΅ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, Π° ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
<ΠΠΎΠ½ΡΡΠ°Π½ΡΠ°> Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #line ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ. <ΠΠΌΡ-ΡΠ°ΠΉΠ»Π°> ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΡΠ»ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΎΠΏΡΡΠ΅Π½ΠΎ, ΡΠΎ ΠΈΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ.
Π’Π΅ΠΊΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΈΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅Π²Π΄ΠΎΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ __LINE__ ΠΈ __FILE__. ΠΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΎΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ __FILE__ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ __FILE__ Π² Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ.
/* ΠΏΡΠΈΠΌΠ΅Ρ 1 */
#line 151 "copy.Ρ"
/* ΠΏΡΠΈΠΌΠ΅Ρ 2 */
#define ASSERT(cond) if (!cond)\
{printf ("ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΡΡΠΎΠΊΠ΅ %d ΡΠ°ΠΉΠ»Π° %s\n", \
__LINE__, __FILE__);} else;
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΎΡΡ.Ρ ΠΈ ΡΠ΅ΠΊΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ 151.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ASSERT ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ __LINE__ ΠΈ __FILE__ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π΅ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ°ΠΊΡΠΎΠ°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ cond, Π»ΠΎΠΆΠ½ΠΎ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ
Π Π‘Π Π’Π‘ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #error. ΠΠ΅ ΡΠΎΡΠΌΠ°Ρ:
#error <ΡΠ΅ΠΊΡΡ>
ΠΠ±ΡΡΠ½ΠΎ ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠ΅Π΄ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #error ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
Fatal: <ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°> <Π½ΠΎΠΌΠ΅Ρ-ΡΡΡΠΎΠΊΠΈ> Error directive: <ΡΠ΅ΠΊΡΡ>
Fatal β ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠ°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ; <ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°> β ΠΈΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°; <Π½ΠΎΠΌΠ΅Ρ-ΡΡΡΠΎΠΊΠΈ> β ΡΠ΅ΠΊΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ; Error directive β ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅; <ΡΠ΅ΠΊΡΡ> β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΠΊΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° MYVAL ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ 0, Π»ΠΈΠ±ΠΎ 1, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ MYVAL:
#if (MYVAL != 0 && MYVAL != 1)
#error MYVAL Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ 0, Π»ΠΈΠ±ΠΎ 1
#endif
ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #error, ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ), Π½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ Π½Π΅ Π²ΡΡΠ²Π»ΡΠ΅Ρ ΠΈ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ.
ΠΡΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π‘Π Π’Π‘ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΏΡΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎ Π·Π½Π°ΠΊ #. ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π²ΡΠ΅Π³Π΄Π° ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ.
Π£ΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΡΠ·ΡΠΊΠ° Π‘ΠΈ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
#pragma <ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²>
Π£ΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΈΠ»ΠΈ ΠΏΡΠ°Π³ΠΌΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. <ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²> Π·Π°Π΄Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
ΠΠ°Π±ΠΎΡ ΠΏΡΠ°Π³ΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° Π‘ΠΈ ΡΠ°Π·Π»ΠΈΡΠ΅Π½. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠ°Π³ΠΌΠ°Ρ ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌΡ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ.