Ensemble de règles pour cppcheck

Cppcheck vous permet de créer vos propres fichiers de règles, mais je ne sais pas quelle partie de la fonctionnalité de cppcheck est exposée.

est-ce que quelqu'un travaille sur un jeu qui ferait respecter les règles JSF ou MISRA ?

33
demandé sur orbitcowboy 2013-03-03 21:08:14

3 réponses

vous ne serez pas en mesure de mettre en œuvre toutes les règles et directives MISRA/JSF en tant que règles de cppcheck, la plupart du temps seulement les règles simples limitant certaines fonctionnalités et constructions du langage C ou qui sont liées au style (certains qui viennent à l'esprit: espaces avant/après ./->, # d'arguments sur une seule ligne, l'utilisation des syndicats pour fournir des différentes méthodes d'accès à la mémoire, la présence de non signé/signed avant de char, etc).

Utilisateur Ira Baxter assez bien cloué dans un commentaire sur une autre question touchant cppcheck: pas tout peut être représenté / simplifié comme un modèle. En se basant sur les modèles pour les règles personnalisées , il est difficile de traiter et de détecter les problèmes de niveau supérieur, liés par exemple aux types (par exemple sizeof () sur les types; vous devez analyser et collecter des jetons (typedefs, enums) utilisés comme une représentation de type) , héritage (p.ex. classes, incl. dérivés, utilisés à la fois comme virtuel et non virtuel) , et champ d'application . Elles doivent être codées en dur dans cppcheck (vous pouvez toujours fourche cppcheck...)

dans tous les cas, Avez-vous touché aux règles MISRA (ou JSF)? Est-ce une exigence pour un projet? Si ce n'est pas le cas, vous pouvez prendre une copie des directives MISRA (vous avez déjà les directives JSF) et vérifier celles que vous pouvez implémenter en utilisant des modèles PCRE. Si c'est une exigence, je vous suggère d '"investir" dans un produit commercial qui vérifie les directives MISRA/JSF et utilise les deux outils.

une dernière remarque: vous n'avez pas besoin de toutes les règles MISRA/JSF, et de nombreux outils laissent un petit pourcentage de ceux-ci.

9
répondu johnwait 2017-05-23 10:29:47

de ce que je peux dire, en regardant à travers la documentation, il semble assez exposé. http://cppcheck.sourceforge.net/manual.pdf .

1
répondu DTSCode 2014-07-18 18:12:26

Cppcheck a le soutien de MISRA. Voici un aperçu des règles supportées: supported MISRA rules

0
répondu orbitcowboy 2018-09-01 06:12:19