āĻĒāĻŋāĻ­āĻŋāĻāĻ¸-āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“āĻ° āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž (āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸, āĻ¸āĻŋ++)

āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¨āĻž āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻĒāĻŋāĻ­āĻŋāĻāĻ¸ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻļāĻŋāĻ–ā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻŸāĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻ° āĻāĻŸāĻžāĻ‡ āĻŦā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻāĻ¸ā§‡āĻ›ā§‡āĨ¤


āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻŸ

  1. ПĐģŅŽŅŅ‹
  2. МиĐŊŅƒŅŅ‹
  3. āĻĢāĻ˛āĻžāĻĢāĻ˛
  4. āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ­āĻžāĻˇ

ПĐģŅŽŅŅ‹

āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻļā§€āĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨

āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ˛ āĻ•ā§€ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻ‡ āĻĻāĻŋāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻ•ā§‡ āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨

āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤. āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻ“ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ (āĻ¯āĻĻāĻŋāĻ“ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻ— āĻ†āĻ›ā§‡, āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻĻā§‡āĻ–ā§āĻ¨ МиĐŊŅƒŅŅ‹).

āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĨā§āĻ°ā§‡āĻĄā§‡āĻĄ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž

āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ "āĻŽāĻžāĻ¨āĻ•" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ -j, āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°ā§āĻŽ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ. āĻāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻāĻšā§‡āĨ¤

āĻ­āĻžāĻ˛ā§‹ āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨

āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ, āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻŽā§āĻ– āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•, āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤, āĻ•ā§‹āĻĄā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻĒāĻžāĻļā§‡ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ• āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻ˛āĻŋāĻ™ā§āĻ• āĻ¸āĻš.

āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡ āĻ¸āĻšāĻœ āĻ‡āĻ¨ā§āĻŸāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¯āĻĻāĻŋ CMake āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ–ā§āĻŦ āĻ¸āĻšāĻœāĨ¤

āĻ­āĻžāĻ˛ āĻĄāĻžāĻ¯āĻŧāĻ—āĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻŦāĻŋāĻŦāĻ°āĻŖ

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŽā§‹āĻĄā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ¨ fullhtml, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž, āĻ•ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ˛āĻŋāĻ™ā§āĻ• āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻ¯āĻŧāĻ—āĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

МиĐŊŅƒŅŅ‹

āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž C++ āĻ­āĻžāĻˇāĻžāĻ° āĻ…āĻœā§āĻžāĻ¤āĻž

āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, PVS āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻ āĻŋāĻ• āĻšāĻ˛ā§‡ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ›ā§‡ āĻ¯āĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ void:

template <typename T>
auto copy (const void * source, void * destination)
    ->
        std::enable_if_t
        <
            std::is_copy_constructible<T>::value
        >
{
    new (destination) T(*static_cast<const T *>(source));
}

āĻšā§āĻ¯āĻžāĻ, āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ auto āĻŦā§‹āĻāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ void, āĻ¯ā§‡ āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻž āĻ•āĻŋ āĻ—āĻžāĻĄāĻŧā§€. āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻŋāĻ­āĻŋāĻāĻ¸ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡:

dynamic_tuple_management.hpp:29:1: error: V591 Non-void function should return a value.
dynamic_tuple_management.hpp:29:1: error: V2542 Function with a non-void return type should return a value from all exit paths.

āĻ–ā§āĻŦ āĻ§ā§€āĻ° āĻ¸āĻžāĻ‡āĻŸ

āĻšā§āĻ¯āĻžāĻ, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻĒāĻžāĻļā§‡āĻ° āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĄāĻžāĻ¯āĻŧāĻ—āĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ˛āĻŋāĻ™ā§āĻ•ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§‡āĻļ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡ 504 āĻ—ā§‡āĻŸāĻ“āĻ¯āĻŧā§‡ āĻŸāĻžāĻ‡āĻŽ-āĻ†āĻ‰āĻŸ.

āĻ­āĻžāĻˇāĻž

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨, āĻ¯āĻž āĻŽāĻšāĻžāĻ¨. āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡āĻ° āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ­āĻžāĻˇāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡ āĻ­āĻžāĻ˛ā§‹ āĻ˛āĻžāĻ—āĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ°ā§āĻļ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ• āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡āĻ¨āĻŋāĨ¤

āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ• āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•

āĻšāĻ˛ā§āĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻāĻŸāĻŋ pvs-studio-analyzer и plog-converter) āĻĄāĻžāĻ¯āĻŧāĻ—āĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸āĨ¤

āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ pvs-studio-analyzer āĻĒāĻĄāĻŧā§‡:

-a [MODE], --analysis-mode [MODE]
    MODE defines the type of warnings:
    1 - 64-bit errors;
    2 - reserved;
    4 - General Analysis;
    8 - Micro-optimizations;
    16 - Customers Specific Requests;
    32 - MISRA.
    Modes can be combined by adding the values
    Default: 4

āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻž āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻžāĻ¯āĻŧ āĻ…āĻ¨ā§‡āĻ•āĻ•ā§āĻˇāĻŖ āĻ•āĻžāĻŸāĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ("āĻŽāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž") āĻ•ā§€āĨ¤ āĻ†āĻŽāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŽāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ:

pvs-studio-analyzer analyze ... -a 1,4,16

āĻ†āĻŽāĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŦāĻžāĻ° āĻ•ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ:

pvs-studio-analyzer analyze ... -a 1 -a 4 -a 16

āĻ†āĻ° āĻ¤āĻ–āĻ¨āĻ‡ āĻŦā§āĻāĻ˛āĻžāĻŽ āĻāĻ—ā§āĻ˛ā§‹ āĻŦāĻŋāĻŸ āĻŽāĻžāĻ¸ā§āĻ•! āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž, āĻāĻŦāĻ‚ āĻ¨āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ āĻ…āĻ°ā§āĻĨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ•āĻ¸, āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹-āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻāĻŦāĻ‚ MISRA-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ•āĻ¸ āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (4 + 8 + 32 = 44):

pvs-studio-analyzer analyze ... -a 44

āĻ‡āĻ‰āĻœāĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ āĻŦāĻŋāĻŸāĻŽāĻžāĻ¸ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ–āĻžāĻ°āĻžāĻĒ āĻĢāĻ°ā§āĻŽāĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŦāĻ‚ āĻĒāĻ¤āĻžāĻ•āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻž āĻ†āĻ›ā§‡ plog-converter, āĻ¯āĻž āĻŽāĻžāĻ¨āĻŦ-āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ¤āĻĨā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ†āĻ›ā§‡āĨ¤

āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ plog-converter āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ:

-a, --analyzer            Specifies analyzer(s) and level(s) to be
                          used for filtering, i.e.
                          'GA:1,2;64:1;OP:1,2,3;CS:1;MISRA:1,2'
                          Default: GA:1,2

āĻ•āĻŋāĻ›ā§ "āĻ¸ā§āĻ¤āĻ°" āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻ—ā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ›āĻŋāĻ˛ āĻ¨āĻž, āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ“ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡āĻ¨āĻŋāĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸ā§‡āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻ•ā§āĻ¯āĻžāĻšā§‡āĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻ—ā§āĻšā§āĻ› āĻŦā§‹āĻ•āĻž āĻļāĻĒāĻĨ

āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ¯āĻžāĻš 2. āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ° āĻ¸āĻŋāĻ‚āĻšāĻ­āĻžāĻ— (!!! āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ 90āĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ 138āĻŸāĻŋ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ¤ā§‡ 297āĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ 344āĻŸāĻŋ!!!) āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻ°ā§āĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

āĻĒāĻŋāĻ­āĻŋāĻāĻ¸-āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“āĻ° āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž (āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸, āĻ¸āĻŋ++)

āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ āĻ¨āĻž

āĻ…āĻ¨ā§āĻŽāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻž āĻ…āĻ¨ā§āĻ¤āĻšā§€āĻ¨ āĻ˛ā§āĻĒ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻ–āĻ¨ āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĨā§āĻ°ā§‡āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ˜āĻŸā§‡ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻĒāĻŋāĻ­āĻŋāĻāĻ¸-āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“āĻ° āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž (āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸, āĻ¸āĻŋ++)

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻāĻŽāĻ¨āĻ•āĻŋ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡? āĻœāĻžāĻ¨āĻŋ āĻ¨āĻžāĨ¤

āĻĢāĻ˛āĻžāĻĢāĻ˛

PVS āĻ†āĻŽāĻžāĻ° āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°ā§‹āĻœā§‡āĻ•ā§āĻŸā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻŦāĻžāĻ— āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ¯āĻŧāĻ¨āĻŋ Burst и āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋāĻŽāĻž, āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ–āĻ¸āĻĄāĻŧāĻžāĻ¤ā§‡, āĻ¯āĻž, āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻžāĻ°āĻŖā§‡, āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻ¸āĻ¤ā§āĻ¯, āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨ āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ§āĻ°āĻž āĻĒāĻĄāĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¸āĻŋāĻĒāĻŋāĻĒāĻŋāĻšā§‡āĻ• и scan-build.

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻĨā§‡āĻ•ā§‡ āĻ›āĻžāĻĒ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ•āĻ‡: āĻšā§āĻ¯āĻžāĻ, āĻ¤āĻžāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻŋāĻ›ā§, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤

āĻāĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ (āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¤āĻžāĻ‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡) āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻāĻ˛ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻļāĻŋāĻŸāĻŋ āĻ•ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻŦā§€āĻ°āĻ¤ā§āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻŸāĻŋāĻ¯āĻŧā§‡ āĻ“āĻ āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ¨āĻž āĻ•āĻ°āĻžāĻ‡ āĻ­āĻžāĻ˛ā§‹āĨ¤

āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻŋ āĻ¸āĻŋ++ āĻ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ¤āĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻ•āĻžāĻ°āĻ“ āĻĒāĻž āĻ—ā§āĻ˛āĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻŦāĻž āĻ•āĻžāĻ°āĻ“ āĻ•āĻĒāĻžāĻ˛ā§‡ āĻ°ā§‡āĻ• āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˜āĻžāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĄāĻžāĻ¯āĻŧāĻžāĻ—āĻ¨āĻ¸ā§āĻŸāĻŋāĻ•āĻ¸ā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĻāĻ˛ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ (āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ¯āĻŧ)

-Werror

-Wall
-Wextra
-Wpedantic

-Wcast-align
-Wcast-qual
-Wconversion
-Wctor-dtor-privacy
-Wenum-compare
-Wfloat-equal
-Wnon-virtual-dtor
-Wold-style-cast
-Woverloaded-virtual
-Wredundant-decls
-Wsign-conversion
-Wsign-promo

āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻļāĻŋāĻ–ā§āĻ¨āĨ¤

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡ āĻ˛ā§‡āĻ—ā§‡ āĻĨāĻžāĻ•ā§āĻ¨

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ— āĻĨāĻžāĻ•āĻ˛ā§‡ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ-āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ›āĻžāĻĄāĻŧāĻž āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡āĻ‡ āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ (āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§) āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§āĻĄāĻŧā§‡ āĻĻāĻŋāĻ¨ āĻāĻŦāĻ‚ āĻ•ā§‡āĻŦāĻ˛ āĻ…āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĻā§‡āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨā§‡ āĻ˛ā§‡āĻ—ā§‡ āĻĨāĻžāĻ•ā§āĻ¨

āĻ¯ā§‹āĻ— āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¯ā§‹āĻ— āĻšāĻ¤ā§‡ āĻšāĻŦā§‡, āĻ—ā§āĻŖāĻ•ā§‡ āĻ—ā§āĻŖāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡, āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡, āĻŦāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻŦāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ§āĻžāĻ°āĻ• āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡, āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§āĻ°āĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ ++ āĻāĻŦāĻ‚ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸āĻŋāĻ‚ *. āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻ˜ā§‹āĻˇāĻŖāĻž.

āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻ§āĻžāĻ°āĻŖāĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°. āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻ•āĻ¨āĻ­ā§‡āĻ¨āĻļāĻ¨ āĻ†āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻ¨āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻŦāĻ‚ āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯āĻ•ā§‡ āĻ›āĻžāĻĒāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ›āĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĻ¨āĨ¤

āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§āĻ¨

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻŽāĻžāĻ¨ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĨ¤ āĻāĻŸāĻž āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ†āĻ•āĻžāĻ™ā§āĻ–āĻŋāĻ¤ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦā§āĻ¸ā§āĻŸ)āĨ¤

STL āĻāĻŦāĻ‚ āĻŦā§āĻ¸ā§āĻŸ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻŦāĻŋāĻ§āĻžāĻ¯āĻŧ āĻĻā§‡āĻ–ā§āĻ¨āĨ¤ āĻŦāĻŋāĻ°āĻ˛ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ°ā§‹āĻ˛ āĻŽāĻĄā§‡āĻ˛ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤

āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŸā§āĻ˛ā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨

āĻāĻ•āĻ‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻĻā§āĻŸāĻŋ āĻ–ā§‹āĻ˛āĻž āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž CMake āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŦāĻžāĻ° āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻŽāĻžāĻ° āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ•āĻžāĻļāĻ¨āĻžāĻ¯āĻŧ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨.

āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ­āĻžāĻˇ

āĻĒāĻ°āĻŋāĻļā§‡āĻˇā§‡, āĻ†āĻŽāĻŋ āĻœā§‹āĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻ†āĻŽāĻŋ PVS āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻšā§āĻ›āĻŋ āĻ¨āĻžāĨ¤ āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­āĻžāĻŦāĻ¤ā§‡ āĻ‰āĻ¤ā§āĻ¸āĻžāĻšāĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ˜āĻŸā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§‹āĻĄā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ¯āĻŧāĨ¤

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ•āĻžāĻ°āĻŖ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŽā§‚āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨