рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ C ++ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореБрдЦреНрдп рднрд╛рд╖рд╛ рд╕реА рд╣реИред рдЗрд╕ рдкрд░ рдХрдИ рдмрдбрд╝реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдЕрднреА рднреА рдЦрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрднреА рднреА рджреБрд░реНрд▓рдн рд╣реИред рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВрдиреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред



рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐



рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдо рд╕реАред рдлрд░реНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдпрд╣ рдЧреНрд░рд╛рд╣рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдереАрдВ, рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЖрджрдд рдмрди рдЧрдИред рдЙрд╕реА рд╕рдордп, рдЬрдм рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдкрд╣рд▓реЗ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ C #ред

рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ C рдпрд╛ C ++ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдЖрд░рдПрдо рдХреЗ рд▓рд┐рдП рд╕реА ++ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХреЗрдЗрд▓ рдХреЗ рдПрдордбреАрдХреЗ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд░рд┐рд▓реАрдЬ рдиреЗ рдореБрдЭреЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рдХреЗрдЗрд▓ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╡рд╣рд╛рдВ рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, C ++ рдХреЛ рдмреНрд▓рд┐рдВрдХреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред CMSIS рдФрд░ LPCOpen рднреА C. рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ рдФрд░ рдпрджрд┐ "рд╣рд░ рдХреЛрдИ" C рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдХрд╛рд░рдг рд╣реИрдВред

рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ .рдиреЗрдЯ рдорд╛рдЗрдХреНрд░реЛ рдлреНрд░реЗрдорд╡рд░реНрдХред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ .Net рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ Visual Studio рдореЗрдВ C # рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рдЙрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВрдпреЗ рд▓реЗрдЦред

рддреЛ, .Net рдорд╛рдЗрдХреНрд░реЛ рдлреНрд░реЗрдорд╡рд░реНрдХ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдХрд░, рдореИрдВрдиреЗ C ++ рдореЗрдВ рдПрдХ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореБрдЭреЗ C ++ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реНрдХ рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рдмрд┐рдВрджреБ рд╣реИрдВред

C рдФрд░ C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?



C рдФрд░ C ++ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рдПрдХ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рд╣реИред рдпрд╣рд╛рдБ рдкрд░ рдкреНрд░рд╕рд┐рджреНрдз рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди, рдмрд╣реБрд░реВрдкрддрд╛ рдФрд░ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдЖрдо рд╣реИрдВред рд╕реА рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рд╣реИред рдХреЗрд╡рд▓ рдХрд╛рд░реНрдп рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдХреЛрдб рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕рдореВрд╣рди рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (.hc .c рдХреА рдПрдХ рдЬреЛрдбрд╝реА)ред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдореЗрдВ рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП MCB1000 ( Keil_v5 \ ARM \ Boards \ Keil \ MCB1000 \ MCB11C14 \ CAN_Demo ) рдХреЗ рд▓рд┐рдП Keil рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдПрд▓ рдИ рдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджреЗрдЦреЗрдВ :

LED.h:

#ifndef __LED_H
#define __LED_H

/* LED Definitions */
#define LED_NUM     8                        /* Number of user LEDs          */

extern void LED_init(void);
extern void LED_on  (uint8_t led);
extern void LED_off (uint8_t led);
extern void LED_out (uint8_t led);

#endif


LED.c:

#include "LPC11xx.h"                    /* LPC11xx definitions                */
#include "LED.h"

const unsigned long led_mask[] = {1UL << 0, 1UL << 1, 1UL << 2, 1UL << 3, 
                                  1UL << 4, 1UL << 5, 1UL << 6, 1UL << 7 };

/*----------------------------------------------------------------------------
  initialize LED Pins
 *----------------------------------------------------------------------------*/
void LED_init (void) {

  LPC_SYSCON->SYSAHBCLKCTRL |= (1UL <<  6);     /* enable clock for GPIO      */

  /* configure GPIO as output */
  LPC_GPIO2->DIR  |=  (led_mask[0] | led_mask[1] | led_mask[2] | led_mask[3] |
                       led_mask[4] | led_mask[5] | led_mask[6] | led_mask[7] );

  LPC_GPIO2->DATA &= ~(led_mask[0] | led_mask[1] | led_mask[2] | led_mask[3] |
                       led_mask[4] | led_mask[5] | led_mask[6] | led_mask[7] );
}


/*----------------------------------------------------------------------------
  Function that turns on requested LED
 *----------------------------------------------------------------------------*/
void LED_on (uint8_t num) {

  LPC_GPIO2->DATA |=  led_mask[num];
}

/*----------------------------------------------------------------------------
  Function that turns off requested LED
 *----------------------------------------------------------------------------*/
void LED_off (uint8_t num) {

  LPC_GPIO2->DATA &= ~led_mask[num];
}

/*----------------------------------------------------------------------------
  Output value to LEDs
 *----------------------------------------------------------------------------*/
void LED_out(uint8_t value) {
  int i;

  for (i = 0; i < LED_NUM; i++) {
    if (value & (1<<i)) {
      LED_on (i);
    } else {
      LED_off(i);
    }
  }
}


рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдУрдУрдкреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рджреГрд╢реНрдп рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдПрд▓рдИрдбреА рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд┐рд░рд╛рдВрдХ, рдирд┐рд░реНрдорд╛рддрд╛, 3 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐рдпрд╛рдВ рдФрд░ рдПрдХ рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░ рд╣реИ:

class LED
{
private:
        const unsigned long led_mask[] = {1UL << 0, 1UL << 1, 1UL << 2, 1UL << 3, 
                                  1UL << 4, 1UL << 5, 1UL << 6, 1UL << 7 };

public:
	unsigned char LED_NUM=8;
public:
        LED(); // LED_init
        void on  (uint8_t led);
        void off (uint8_t led);
        void out (uint8_t led);
}


рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХреЛрдб рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдкреНрд░рддрд┐рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред .C рдлрд╝рд╛рдЗрд▓ рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ .h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдВрддреНрд░ рдХреЗ рднреАрддрд░ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдХреЛрдИ рд╡рд┐рд░рд╛рд╕рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдмрд╣реБрд░реВрдкрддрд╛ рднреА рд╣реИред

рдореИрдВ рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдорд┐рд▓рд╛, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛрдб рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдУрдУрдкреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд░реЗрдВ рдЬреЛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ? рдЗрд╕реА рд╕рдордп, C ++ рджреНрд╡рд╛рд░рд╛, рдФрд░ рдмрдбрд╝реЗ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░, рдХреЗрд╡рд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдирд╣реАрдВред

рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ I2C рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рдПрдХ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╢реЛрдзрди рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдФрд░ рд╡рд╣реА рд╕реЗрдВрд╕рд░ рдЕрдм рдПрд╕рдкреАрдЖрдИ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред рдХреНрдпрд╛ рдХрд░реЗрдВ? рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рджреЛрдиреЛрдВ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред C рдореЗрдВ, рдЖрдк рджреЛ рд╕рдорд╛рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП #define рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

#ifdef REV1
#include тАЬi2c.hтАЭ
#endif
#ifdef REV2
#include тАЬspi.hтАЭ
#endif


void TEMPERATURE_init()
{
#ifdef REV1
	I2C_int()
#endif
#ifdef REV2
	SPI_int()
#endif
}


рдФрд░ рдЗрд╕реА рддрд░рд╣ред

C ++ рдореЗрдВ, рдЖрдк рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдУ

class ITemperature
{
public:
	virtual unsigned char GetValue() = 0;
}


рдФрд░ 2 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░реЗрдВ

class Temperature_I2C: public ITemperature
{
public:
	virtual unsigned char GetValue();
}

class Temperature_SPI: public ITemperature
{
public:
	virtual unsigned char GetValue();
}


рдФрд░ рдлрд┐рд░ рд╕рдВрд╢реЛрдзрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕ рдпрд╛ рдЙрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

class TemperatureGetter
{
private: 
         ITemperature* _temperature;

pubic:
         Init(ITemperature* temperature)
         {
                 _temperature = temperature;
         }

private:
	void GetTemperature()
        {
                _temperature->GetValue();
        }


#ifdef REV1
	Temperature_I2C temperature;
#endif
#ifdef REV2
	Temperature_SPI temperature;
#endif

TemperatureGetter tGetter;


void main()
{
        tGetter.Init(&temperature);
}


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ C рдФрд░ C ++ рдХреЛрдб рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рд╡рд┐рдХрд▓реНрдк рдФрд░ рднреА рдЕрдзрд┐рдХ рдмреЛрдЭрд┐рд▓ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рджреЛ рдореБрдЦреНрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ #define рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЛ "рдорд┐рдЯрд╛" рджреЗрддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрдИ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЬрдм рдРрд╕реА рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдП рд░рдЦрдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  • 2 , C++. тАЬтАЭ , . , #ifdef. , , . , . , , .


рдмрд╣реБрд░реВрдкрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдПрдХ рдУрд░, рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкрд░рдорд╛рдгреБ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░реА рдУрд░, рдХреЛрдб рдХреЛ рд▓реЗрдЯ рдФрд░ рдкрдврд╝рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╕рдВрд╢реЛрдзрди рдкрд░ рдХреЛрдб рдХреА "рд╢рд╛рдЦрд╛" рдЕрднреА рднреА рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрд░реВрдкрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд░рддреЛрдВ рдХреЗ рдмреАрдЪ рд╢рд╛рдЦрд╛рдУрдВ рдХреА рдЬрдЧрд╣ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдПрдЖрдИрдПрдлрдбреАрдПрдл рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред

рдмрд╣реБрд░реВрдкрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рднреА рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдирдпрд╛ рд╕рдВрд╢реЛрдзрди рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рджреЛрдиреЛрдВ рддрд╛рдкрдорд╛рди рд╕реЗрдВрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред

рдиреНрдпреВрдирддрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХреЛрдб рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЕрдкрдиреЗ SPI рдФрд░ I2C рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд╕ Init (& рддрд╛рдкрдорд╛рди) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореИрдВрдиреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднреМрддрд┐рдХ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╣реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗ рд╕рд╛рде, C рдФрд░ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред OOP рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд C ++ рдХреЗ рдлрд╛рдпрджреЗ рдЗрддрдиреЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ "рд╢реМрдХрд┐рдпрд╛" рдХреА рд╢реНрд░реЗрдгреА рд╕реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рд╕реА ++ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдХрд╛рдлреА рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред

C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЦрддрд░рд╛ рдХреНрдпрд╛ рд╣реИ?



C рдФрд░ C ++ рдХреЗ рдмреАрдЪ рджреВрд╕рд░рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд╣реИред рд╕реА рднрд╛рд╖рд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реНрдерд┐рд░ рд╣реИред рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкрддреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВ, рдФрд░ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред C ++ рдПрдХ рдЕрдзрд┐рдХ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд╡рдВрдЯрди рдФрд░ рд╕реНрдореГрддрд┐ рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рдХрд╛рд░реНрдп рдХрд╛ рдЕрд░реНрде рд╣реИред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ C ++ рдЦрддрд░рдирд╛рдХ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдХрдо рд╕рдВрд╕рд╛рдзрди рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд░реИрдо рдХрд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЙрдкрдпреЛрдЧ рд╡рд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рдо рдореЗрдВ рдРрд╕реЗ "рдЪрдорддреНрдХрд╛рд░" рдХреЗ рдиреБрдХрд╕рд╛рди рд╕реЗ рднрд░рд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдХреЛ рднреА рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдирд╣реАрдВ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрднреА рднреА рдЧрддрд┐рд╢реАрд▓ рдирд╣реАрдВ рдмрдирддреЗ рд╣реИрдВред

рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЗрдореЛрд░реА (рдФрд░ рдирдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореЙрд▓реЛрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдвреЗрд░ рд╕реЗ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ) рдФрд░ рд╕реНрдореГрддрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ, рддреЛ рдЖрдк рд╡рд┐рдЦрдВрдбрди рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП 20 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ:


рд╣рд░ рдмрд╛рд░ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкреВрд░реА рд╕реНрдореГрддрд┐ рд╕реНрдХреИрди рдХреА рдЬрд╛рддреА рд╣реИ (рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдпрд╛ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ - рдпрд╣ рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ) рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЕрдкреНрд░рднрд╛рд╡рд┐рдд рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрди рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкрд╛рд╕ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


рдЬрдм рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд░рд╣ рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рдЕрдкрдиреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯ рдЖрддреА рд╣реИ:


рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдкрд░реНрдпрд╛рдкреНрдд рдореБрдХреНрдд рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрддрд╛ рджреЗрдВ рдХрд┐ 2 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕реЗ 10 рдЬрд╝реЛрди рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ:


рдлрд┐рд░ 2,4,6,8,10 рдЬрд╝реЛрди рдореБрдХреНрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:


рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдкреВрд░реЗ рдвреЗрд░ (10 рдмрд╛рдЗрдЯреНрд╕) рдХрд╛ рдЖрдзрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдореБрдХреНрдд рд░рд╣рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, 3 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ 3 рдореБрдХреНрдд рд╕реЗрд▓ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕реЗ рд╕реНрдореГрддрд┐ рд╡рд┐рдЦрдВрдбрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рдореЗрдореЛрд░реА рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЦрд╛рд╕рдХрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВред

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ LPC11C24 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ Keil mVision рдореЗрдВ рдРрд╕рд╛ рдХрд┐рдпрд╛ред

256 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдвреЗрд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ:


рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рд╡рд░реНрдЧ рд╣реИрдВ:

#include <stdint.h>

class foo
{
private:
	int32_t _pr1;
	int32_t _pr2;
	int32_t _pr3;
	int32_t _pr4;

	int32_t _pb1;
	int32_t _pb2;
	int32_t _pb3;
	int32_t _pb4;

	int32_t _pc1;
	int32_t _pc2;
	int32_t _pc3;
	int32_t _pc4;

public:
	foo()
	{
		_pr1 = 100;
		_pr2 = 200;
		_pr3 = 300;
		_pr4 = 400;
		
		_pb1 = 100;
		_pb2 = 200;
		_pb3 = 300;
		_pb4 = 400;
		
		_pc1 = 100;
		_pc2 = 200;
		_pc3 = 300;
		_pc4 = 400;
	}
	~foo(){};	

	int32_t F1(int32_t a)
	{
		return _pr1*a;
	};
	int32_t F2(int32_t a)
	{
		return _pr1/a;
	};
	int32_t F3(int32_t a)
	{
		return _pr1+a;
	};
	int32_t F4(int32_t a)
	{
		return _pr1-a;
	};
};

class bar
{
private:
	int32_t _pr1;
	int8_t _pr2;

public:
	bar()
	{
		_pr1 = 100;
		_pr2 = 10;
	}
	~bar() {};	

	int32_t F1(int32_t a)
	{
		return _pr2/a;
	}
	int16_t F2(int32_t a)
	{
		return _pr2*a;
	}
};


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╛рд░ рд╡рд░реНрдЧ рдлреВ рд╕реЗ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рд▓реЗрдЧрд╛ред
рдмрд╛рд░ рд╡рд░реНрдЧ рдХреЗ 14 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдвреЗрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлреВ рд╡рд░реНрдЧ рдХреА рдЖрд╡реГрддреНрддрд┐ рдЕрдм рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ:

int main(void)  
{
		foo *f;
		bar *b[14];

                b[0] = new bar();
		b[1] = new bar();
		b[2] = new bar();
		b[3] = new bar();
		b[4] = new bar();
		b[5] = new bar();
		b[6] = new bar(); 
		b[7] = new bar();
		b[8] = new bar();
		b[9] = new bar();
		b[10] = new bar();
		b[11] = new bar();
		b[12] = new bar();
		b[13] = new bar();

f = new foo(); 
}


рдпрджрд┐ рдЖрдк рдмрд╛рд░ рдХреЗ рдХреЗрд╡рд▓ 7 рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдлреВ рднреА рдЖрдо рддреМрд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:

int main(void)  
{
		foo *f;
		bar *b[14];

               //b[0] = new bar();
		b[1] = new bar();
		//b[2] = new bar();
		b[3] = new bar();
		//b[4] = new bar();
		b[5] = new bar();
		//b[6] = new bar(); 
		b[7] = new bar();
		//b[8] = new bar();
		b[9] = new bar();
		//b[10] = new bar();
		b[11] = new bar();
		//b[12] = new bar();
		b[13] = new bar();

f = new foo(); 
}


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рдмрд╛рд░ рдХреЗ 14 рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ 0,2,4,6,8,10 рдФрд░ 12 рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рддреЛ рдлреВрдк рдвреЗрд░ рдХреЗ рд╡рд┐рдЦрдВрдбрди рдХреЗ рдХрд╛рд░рдг рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛:

int main(void)  
{
		foo *f;
		bar *b[14];

               b[0] = new bar();
		b[1] = new bar();
		b[2] = new bar();
		b[3] = new bar();
		b[4] = new bar();
		b[5] = new bar();
		b[6] = new bar(); 
		b[7] = new bar();
		b[8] = new bar();
		b[9] = new bar();
		b[10] = new bar();
		b[11] = new bar();
		b[12] = new bar();
		b[13] = new bar();

		delete b[0];
		delete b[2];
		delete b[4];
		delete b[6];
		delete b[8];
		delete b[10];
		delete b[12];

f = new foo(); 
}


рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЛрдг рд╣реИред рд╕реНрдерд╛рдкрддреНрдп рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ, C ++, рдпрджреНрдпрдкрд┐ C рд╕реЗ рд╢реНрд░реЗрд╖реНрда рд╣реИ, рдорд╣рддреНрд╡рд╣реАрди рд╣реИред рдирддреАрдЬрддрди, рд╕реА ++ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдирд╣реАрдВ рд▓рд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдИ рдмрдбрд╝рд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдмрд┐рдВрджреБ рднреА рдирд╣реАрдВ рд╣реИрдВ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдВрддрд░ рдХреЗ рдХрд╛рд░рдг, рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╕рдВрдж рдмрдирд╛ рд░рд╣реЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдХрд╛рд░рд╛рддреНрдордХ рдмрд┐рдВрджреБ рдорд┐рд▓рд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕рд╣реА C ++ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

C ++ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдкреНрд▓рд╕ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред



рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд┐рд╖рдп рд╣рдореЗрд╢рд╛ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд░рд╣рд╛ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдХреЛрдб рдХреЛ рд╣рд░ рд╕рдВрднрд╡ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдВрдЪрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдкреВрд░реНрдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╣рдореЗрд╢рд╛ рднрд╛рд░реА рд▓рд╛рдЧрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрдЯреИрдВрдб рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдлрд░реНрдорд╡реЗрдпрд░ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╣ рдПрдХ рд╡рд┐рддрд░рд┐рдд IoT рдкреНрд░рдгрд╛рд▓реА рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред

рдЬрдм рдореИрдВрдиреЗ C ++ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореИрдВ рддреБрд░рдВрдд рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдХреЛрдб рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдХреЗрд╡рд▓ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП Keil mVision рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ, рдПрдХ рдмрд╣реБрдд рд╣реА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХреЛрдб рд╕рдВрдкрд╛рджрдХ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, Keil mVision рдореЗрдВ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдПрдХреАрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдпрд╣ рд╕рдм рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рддреАрд╕рд░рд╛, рдореБрдЭреЗ рдЖрд╢рд╛ рдереА рдХрд┐ рдореИрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рдХрдо рд╕реЗ рдХрдо рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреЛ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдФрд░ рдЪреМрдерд╛, рдпрд╣ Resharper C ++ рдХрд╛ рдЙрджреНрднрд╡ рд╣реИ - C ++ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди, рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреА рд╢реИрд▓реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдФрд░ рдЗрд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рд╕рд╛рд░ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╛рд░реНрд╕рд░) рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рдерд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдФрд░ рдЪрд╛рд╣рд┐рдП рдерд╛! рдореЗрд░реА рдкрд░рд┐рдзреАрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдореИрдВ рдХреЗрдЗрд▓ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, LPC11C24 рдХреЗ рд▓рд┐рдП рдпрд╣ LPC11xx.h рд╣реИред рдпреЗ рдлрд╛рдЗрд▓реЗрдВ CMSIS рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рд╕реАрдзреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ #define рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

#define LPC_I2C_BASE          (LPC_APB0_BASE + 0x00000)
#define LPC_I2C               ((LPC_I2C_TypeDef    *) LPC_I2C_BASE   )


рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╕реНрдЯрдмреНрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╕реНрдЯрдбрд┐рдпреЛ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ, рдпрджрд┐ рдЖрдк рдПрдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдкрддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдПрдореБрд▓реЗрдЯрд░ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

#include <LPC11xx.h>

class LPC11C24Emulator
{
public:
	static class Registers
	{
	public:
		static LPC_ADC_TypeDef ADC;

	public:
		static void Init()
		{
			memset(&ADC, 0x00, sizeof(LPC_ADC_TypeDef));
		}
	};
}

#undef LPC_ADC
#define LPC_ADC				((LPC_ADC_TypeDef *) &LPC11C24Emulator::Registers::ADC)


рдФрд░ рдлрд┐рд░ рдРрд╕рд╛ рдХрд░реЗрдВ:

#if defined ( _M_IX86 )
#include "..\Emulator\LPC11C24Emulator.h"
#else
#include <LPC11xx.h>
#endif


рдЗрд╕ рддрд░рд╣, рдЖрдк VisualStudio рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

C ++ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВрдиреЗ 300 рд╕реЗ рдЕрдзрд┐рдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рд╕рд╛рд░ рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рдЧрднрдЧ 20 рдмрд▓реНрдХрд┐ рдЧрдВрднреАрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рдИ рдЧрдИ рдереАрдВ, рдЬреЛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг, рд╕реНрд╡рдд: рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд┐рдирд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖



рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╛ рди рдХрд░рдирд╛ рдПрдХ рдЬрдЯрд┐рд▓ рдкреНрд░рд╢реНрди рд╣реИред рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдПрдХ рддрд░рдл, рдкреВрд░реНрдг-рдУрдУрдкреА рдХреЗ рд╡рд╛рд╕реНрддреБ рд▓рд╛рдн рдЗрддрдиреЗ рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЗрди рдкрд╣рд▓реБрдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА рдФрд░ рд╕реА ++ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ, рдбреЗрд╡рд▓рдкрд░ рдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреЗ рдмреАрдЪ рдЪрдпрди рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рд╡реАрдЬрд╝рд╛ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕реА ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдмрд┐рдВрджреБ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдпрд╣ рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдХрд╛рд░реНрдп, рдкреВрд░реНрдг рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ (рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд╕рд╣рд┐рдд) рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЕрдиреНрдп рд▓рд╛рднреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдХрд╛рд╕ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдФрд░ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рдХрд╛рдо рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдЕрджреНрдпрддрди : рдЗрд╕ рд▓реЗрдЦ
рдХреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  • рдмреИрдардХ рд╕реА ++ 2015 рдмрд┐рдЬрд▓реА рд╡рд╛рд░реНрддрд╛: рдУрдбрд┐рди рд╣реЛрдореНрд╕ - рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рд░реЛрд╣ рд░рдЬрд┐рд╕реНрдЯрд░ рдЕрдореВрд░реНрдд www.youtube.com/watch?v=AKAYc9ZFBhk
  • рдореАрдЯрд┐рдВрдЧ рд╕реА ++ 2015: рдЬреЙрди рд╣рд┐рдВрдХреЗ - рдбреАрдк рдПрдВрдмреЗрдбреЗрдб рд╕реА ++ www.youtube.com/watch?v=TYqbgvHfxjM
  • рдореАрдЯрд┐рдВрдЧ рд╕реА ++ 2014: рд╡рд╛рдЙрдЪрд░ рд╡реИрди рдУрдЗрдЬреЗрди - рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕? рдХреЛрдИ рдзрдиреНрдпрд╡рд╛рдж рдирд╣реАрдВред www.youtube.com/watch?v=k8sRQMx2qUw

Source: https://habr.com/ru/post/hi390837/


All Articles