ΠΠ·Π»Π΅Π·Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΠΊΠΎΠ΄ cppcheck 2.7, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π° Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ C ΠΈ C++, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΡΠΈΠΏΠΈΡΠ΅Π½ Π·Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ, ΡΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ cppcheck ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΡΡΡ ΡΡΠΈΠ»Π° Π½Π° ΠΊΠΎΠ΄Π°. ΠΠ° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ, ΠΈΠ»ΠΈ Π²ΡΠ½ΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΎΡ Clang. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΊΠ»ΡΡΠ²Π° ΡΠΊΡΠΈΠΏΡΠ° donate-cpu.py Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Debian. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv3.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° cppcheck Π΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΎ Π²ΡΡΡ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΎΠΏΠ°ΡΠ½ΠΈ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°. Π¦Π΅Π»ΡΠ° Π΅ ΡΡΡΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π΄Π°Ρ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ°Π»ΡΠΈΠ²ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ. Π‘ΡΠ΅Π΄ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ: ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΊΡΠΌ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½ΡΠ»Π°, ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΈ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½ΠΈΡ, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΡΠΎΠ²Π΅, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅Ρ, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° STL, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ»Π΅Π΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊΡΠΌ Π±ΡΡΠ΅ΡΠ°, ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ.
Π£ΡΠΏΠΎΡΠ΅Π΄Π½ΠΎ Ρ ΡΠΎΠ²Π° ΡΠ²Π΅Π΄ΡΠΊΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Cppcheck Solutions AB ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Cppcheck Premium, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π±Π΅Π·ΠΊΡΠ°ΠΉΠ½ΠΈ ΡΠΈΠΊΠ»ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ°.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π³Π»Π΅Π΄ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ - Π°ΡΡΠΈΠ±ΡΡΡΡ Π·Π° ΠΈΠ·Π³Π»Π΅Π΄ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ Π΅ΡΠΈΠΊΠ΅ΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΅ ΠΈΠ·Π³Π»Π΅Π΄. ΠΠΎΠ΄ΡΡ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΠ΅Π»ΠΈΡ ΠΆΠΈΠ²ΠΎΡ Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ·ΠΈ Π°ΡΡΠΈΠ±ΡΡ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ;
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ;
- ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ ΡΠ° Π½Π°ΡΡΡΠΏΠ°Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΠ° ΠΎΡΡΡΡΠ°Π½Π΅Π½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru