ΠΠΈΠ»Π°Π½ ΠΡΡΠΌ (Dylan Graham) ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉ runtime LWDR Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ D ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², ΠΎΡΠ½Π°ΡΡΠ½Π½ΡΡ ΠΠ‘ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (RTOS). Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Π½Π°ΡΠ΅Π»Π΅Π½Π° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ARM Cortex-M. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ ΡΡΠ°Π²ΠΈΡ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ Π²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ D, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°. Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π²ΡΡΡΠ½ΡΡ (new / delete), ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½, Π½ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΠ΄ Ρ ΡΠΊΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² RTOS.
Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½Ρ:
- Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΊΡΡΠΈ Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡ;
- ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΡ;
- assert-Ρ;
- ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° RTTI (Π·Π° ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² Typeinfo);
- ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ;
- Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ;
- Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ;
- ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ;
- Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²;
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
Π ΡΡΠ°ΡΡΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ: ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Throwables (ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΌΡΡΠΎΡΡΠΈΠΊΠ°).
ΠΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ:
- ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ;
- ModuleInfo;
- Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠ° (TLS);
- Π΄Π΅Π»Π΅Π³Π°ΡΡ ΠΈ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ;
- Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ;
- ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅;
- Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru