{"id":101563,"date":"2021-10-07T16:22:54","date_gmt":"2021-10-07T14:22:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s"},"modified":"2021-10-07T16:22:54","modified_gmt":"2021-10-07T14:22:54","slug":"vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","title":{"rendered":"Sortie de cppcheck 2.6, un analyseur statique de code pour les langages C++ et C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Une nouvelle version de l'analyseur statique de code cppcheck 2.6 est sortie, permettant de d\u00e9tecter diverses classes d'erreurs dans le code en C et C++, y compris lors de l'utilisation de syntaxe non standard, typique des syst\u00e8mes embarqu\u00e9s. Une collection de plugins est fournie, assurant l'int\u00e9gration de cppcheck avec diff\u00e9rents syst\u00e8mes de d\u00e9veloppement, d'int\u00e9gration continue et de test, ainsi que des fonctionnalit\u00e9s telles que la v\u00e9rification de la conformit\u00e9 du code au style de pr\u00e9sentation du code. Pour l'analyse du code, il est possible d'utiliser \u00e0 la fois un parseur interne et un parseur externe de Clang. Un script donate-cpu.py est \u00e9galement inclus pour fournir des ressources locales afin d'effectuer le travail de v\u00e9rification collaborative du code des paquets Debian. Les codes sources du projet sont distribu\u00e9s sous la licence GPLv3.      <\/p>\n<p>Le d\u00e9veloppement de cppcheck se concentre sur l'identification des probl\u00e8mes li\u00e9s \u00e0 un comportement ind\u00e9fini et \u00e0 l'utilisation de constructions potentiellement dangereuses. L'objectif est \u00e9galement de minimiser les faux positifs. Parmi les probl\u00e8mes identifi\u00e9s, on trouve : des pointeurs vers des objets inexistants, des divisions par z\u00e9ro, des d\u00e9bordements entiers, des op\u00e9rations de d\u00e9calage de bits incorrectes, des conversions incorrectes, des probl\u00e8mes de gestion de la m\u00e9moire, un usage incorrect de la STL, le d\u00e9r\u00e9f\u00e9rencement de pointeurs nuls, la r\u00e9alisation de v\u00e9rifications apr\u00e8s acc\u00e8s effectif au tampon, le d\u00e9passement de tampon, et l'utilisation de variables non initialis\u00e9es.          <\/p>\n<p>  Dans la nouvelle version :  <\/p>\n<ul>\n<li class=\"l\"> Les v\u00e9rifications suivantes ont \u00e9t\u00e9 ajout\u00e9es au c\u0153ur de l'analyseur :\n<ul>\n<li class=\"l\"> absence d'un op\u00e9rateur return dans le corps d'une fonction ;\n<li class=\"l\"> \u00e9criture de donn\u00e9es qui se chevauchent, d\u00e9finition d'un comportement ind\u00e9fini ;\n<li class=\"l\"> la valeur compar\u00e9e d\u00e9passe la repr\u00e9sentation des valeurs de type ;\n<li class=\"l\"> l'optimisation de la copie n'est pas appliqu\u00e9e pour return std::move(local) ;\n<li class=\"l\"> un fichier ne peut pas \u00eatre ouvert simultan\u00e9ment en lecture et en \u00e9criture dans diff\u00e9rents flux ;  <\/ul>\n<li class=\"l\"> un support pour l'affichage de messages diagnostiques dans diff\u00e9rentes couleurs a \u00e9t\u00e9 ajout\u00e9 pour les plateformes Unix ;\n<li class=\"l\"> une analyse symbolique pour ValueFlow a \u00e9t\u00e9 ajout\u00e9e. Une simple delta est utilis\u00e9e pour calculer les diff\u00e9rences entre deux variables inconnues ;\n<li class=\"l\"> Les r\u00e8gles utilis\u00e9es pour la liste des tokens \u00ab define \u00bb peuvent \u00e9galement s'appliquer \u00e0 #include;\n<li class=\"l\"> La balise de biblioth\u00e8que &lt;function&gt; peut maintenant contenir la balise &lt;container&gt;, et par cons\u00e9quent, les fonctions free, qui peuvent accepter de tels conteneurs comme std::size, std::empty, std::begin, std::end, etc., peuvent indiquer yeld ou action pour les conteneurs;\n<li class=\"l\"> La balise de biblioth\u00e8que  peut maintenant contenir la balise  pour les pointeurs intelligents ayant une propri\u00e9t\u00e9 exclusive (unique ownership). Un avertissement est d\u00e9sormais \u00e9mis concernant les liens \u00ab pendants \u00bb pour ce type de pointeurs intelligents;\n<li class=\"l\"> Des probl\u00e8mes de traitement du param\u00e8tre \u2014cppcheck-build-dir ont \u00e9t\u00e9 r\u00e9solus;\n<li class=\"l\"> htmlreport peut d\u00e9sormais afficher des informations sur l'auteur (\u00e0 l'aide de git blame);\n<li class=\"l\"> L'\u00e9mission des avertissements concernant les variables qui ne sont pas constantes mais qui pourraient l'\u00eatre a \u00e9t\u00e9 \u00e9largie;\n<li class=\"l\"> Des erreurs accumul\u00e9es et des lacunes de l'analyseur ont \u00e9t\u00e9 corrig\u00e9es.  <\/ul>\n<p>  Des v\u00e9rifications de Misra C 2012 ont \u00e9t\u00e9 enti\u00e8rement mises en \u0153uvre, y compris les amendements 1 et 2, \u00e0 l'exception des r\u00e8gles 1.1, 1.2 et 17.3. Les v\u00e9rifications 1.1 et 1.2 doivent \u00eatre effectu\u00e9es par le compilateur. La v\u00e9rification 17.3 peut \u00eatre effectu\u00e9e par le compilateur, par exemple GCC.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55936\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f cppcheck \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-101563","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a cppcheck 2.6, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C++ \u0438 \u0421 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-10-07T14:22:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-10-07T14:22:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sortie de cppcheck 2.6, l'analyseur statique de code pour les langages C++ et C | ProHoster","description":"Une nouvelle version de l'analyseur statique de code cppcheck 2.6 est sortie, permettant de d\u00e9tecter diverses classes d'erreurs dans le code en C et C++, y compris lors de l'utilisation de syntaxe non standard, typique pour.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a cppcheck 2.6, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C++ \u0438 \u0421 | ProHoster","og:description":"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430 cppcheck 2.6, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 \u0421\u0438 \u0438 \u0421\u0438++, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0442\u0438\u043f\u0438\u0447\u043d\u043e\u0433\u043e \u0434\u043b\u044f.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-cppcheck-2-6-staticheskogo-analizatora-koda-dlya-yazykov-c-i-s","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-10-07T14:22:54+00:00","article:modified_time":"2021-10-07T14:22:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101563","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-10-07 14:40:34","updated":"2022-09-27 16:13:52","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/101563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=101563"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/101563\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=101563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=101563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=101563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}