Nous utilisons des cookies pour améliorer votre expérience de navigation. En savoir plus
Accepter
to the top
close form

Remplissez le formulaire ci‑dessous en 2 étapes simples :

Vos coordonnées :

Étape 1
Félicitations ! Voici votre code promo !

Type de licence souhaité :

Étape 2
Team license
Enterprise licence
** En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité
close form
Demandez des tarifs
Nouvelle licence
Renouvellement de licence
--Sélectionnez la devise--
USD
EUR
* En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité

close form
La licence PVS‑Studio gratuit pour les spécialistes Microsoft MVP
close form
Pour obtenir la licence de votre projet open source, s’il vous plait rempliez ce formulaire
* En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité

close form
I am interested to try it on the platforms:
* En cliquant sur ce bouton, vous déclarez accepter notre politique de confidentialité

close form
check circle
Votre message a été envoyé.

Nous vous répondrons à


Si l'e-mail n'apparaît pas dans votre boîte de réception, recherchez-le dans l'un des dossiers suivants:

  • Promotion
  • Notifications
  • Spam

Webinar: Evaluation - 05.12

>
>
Les exemples en ligne (C, C++)

Les exemples en ligne (C, C++)

Grâce au projet Compiler Explorer, les programmeurs peuvent désormais préparer rapidement des exemples synthétiques de code C et C++ et voir quels résultats PVS-Studio produira lors de leur exécution.

Voici un exemple de code avec deux bugs, qui démontre les capacités d'analyse de flux de données de PVS-Studio.

Primo, il y a une faute de frappe qui entraîne l'enregistrement des adresses de deux tampons alloués deux fois de suite dans la variable 'a'. Cela entraîne la perte de l'un des pointeurs, et donc l'analyseur nous avertit d'une fuite de mémoire. Un autre effet de cette faute de frappe est le pointeur null dans la fonction 'use'.

Deuxièmement, la mémoire s'alloue l'utilisation de l'opérateur 'new' mais se libère en utilisant la fonction 'free'.

L'analyseur signale tous ces défauts en émettant quelques warnings :

  • V522 Dereferencing of the null pointer 'p' might take place. The null pointer is passed into 'use' function. Inspect the first argument. Check lines: 7, 18.
  • V773 The 'a' pointer was assigned values twice without releasing the memory. A memory leak is possible.
  • V519 The 'a' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 14, 15.
  • V611 The memory was allocated using 'new' operator but was released using the 'free' function. Consider inspecting operation logics behind the 'a' variable.

Plus d'exemples

Nous avons préparé beaucoup d'exemple de démonstration d'autres capacités diagnostic d'analyseur PVS-Studio.

Il est possible de modifier nos exemples ou composer votre propre texte à partir de zéro.

Applications de la fonctionnalité

Il y a quelques points qui sont possibles d'effectuer avec PVS-Studio en ligne sur Compiler Explorer :

  • Explorons les capacités de diagnostic de l'analyseur ;
  • Générons un lien permanent vers le warning en cliquant sur cliquer « Share » et envoyons-le à votre ami ou collègue ;
  • Créons un exemple de travail qui démontre votre problème et partagez un lien permanent avec notre support ;
  • Préparons des exemples démonstratifs pour les articles sur l'analyse statique.

Ne faisons pas essayer de le faire dans ce mode :

  • Comparons des analyseurs statiques basé sur leurs performances sur des exemples synthétiques. Les analyseurs sont sensibles à la manière dont ces courts tests synthétiques sont écrits. Leurs performances peuvent être différentes de celles qu'ils peuvent obtenir d’une base de code réelle. Consulter l'article « A note of caution about using PVS-Studio on godbolt.org » pour plus de détails.
  • Décidons si PVS-Studio est une bonne décision pour ce projet. La manière la plus fiable de faire cela est de télécharger la version démo et de vérifier votre base de code. Il est important de rappeler que PVS-Studio fournit non seulement les diagnostics, mais également l’infrastructure très avancée et la compatibilité avec Visual Studio, Rider, TeamCity, PlatformIO, Azure DevOps, Travis CI, CircleCI, GitLab CI/CD, Jenkins, SonarQube et plus encore.

Remarques pour les étudiants et professeurs

Compiler Explorer est utile lorsque vous devez effectuer un écourté travail pratique sur la programmation. Il est possible d'écrire un extrait de code, s'assurer qu'il se compile, exécuter et voir les résultats. Il est possible ensuite de générer un lien à partager avec votre professeur pour évaluation.

En plus de cela, il est désormais capacité de vérifier le code à l'aide de PVS-Studio, ce qui commencera avec l'analyse statique. Nous savons que les étudiants et les professeures utilisent beaucoup PVS-Studio en mode gratuit. La nouvelle fonction rend l'expérimentation avec PVS-Studio particulièrement facile d'utilisation Compiler Explorer pour enseigner et apprendre C et C++.

Références