Équivalents GCC pour désactiver sélectivement les avertissements dans une unité de traduction
Dans les projets C, des situations surviennent dans lesquelles il est souhaitable de supprimer les avertissements pour des segments de code spécifiques sans affecter le comportement d’avertissement ailleurs dans le projet. Pour y parvenir, Microsoft Visual C (MSVC) utilise une paire de pragmas :
#pragma warning( push ) #pragma warning( disable : 4723 ) // Code section where warning 4723 is suppressed #pragma warning( pop )
Pragmas de diagnostic GCC
GCC n'offre pas d'équivalent exact à l'avertissement de MSVC pragmas. Cependant, il fournit des pragmes de diagnostic qui permettent un contrôle plus précis de la suppression des avertissements. Le plus pertinent est le diagnostic #pragma GCC :
#pragma GCC diagnostic [warning|error|ignored] "-Wwhatever"
Limitations
Le diagnostic #pragma GCC a des limites par rapport aux pragmas de MSVC :
Utilisation
Pour supprimer un avertissement spécifique, tel que "-Wwhatever", utilisez le pragma suivant avant le code qui déclenche le avertissement :
#pragma GCC diagnostic ignored "-Wwhatever"
Après le code concerné, restaurez le comportement d'avertissement d'origine en utilisant :
#pragma GCC diagnostic warning "-Wwhatever"
Considérations
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!