web-dev-qa-db-fra.com

Comment utiliser #pragma clang diagnostics

Je sais que # pragma clang diagnostics peut être utilisé pour ignorer certains avertissements générés par Clang. Mais je ne sais pas comment utiliser cela correctement.

Par exemple, pour un avertissement de variable inutilisé, nous pouvons éviter d'avertir par

#pragma clang diagnostic Push
#pragma clang diagnostic ignored "-Wunused-variable"

int number;

#pragma clang diagnostic pop

Mais je ne sais pas comment obtenir le paramètre correct pour #pragma clong Diagnostic Ignoré ("-Utilisé-variable" ici)

Y a-t-il un moyen de fier ce type de nom d'avertissement pour des avertissements spécifiques avec Xcode?

22
Johnykutty

Vous pouvez rechercher le paramètre de ligne de commande d'avertissement si vous connaissez le message: drapeaux de diagnostic à Clang

19
AndiDog

Ok, alors c'est ce que j'ai compris

Clang est la couche d'extrémité avant C/objectif C pour le compilateur. Et Clang assume la responsabilité de montrer un message d'avertissement et d'erreur que nous voyons dans Xcode.

Ainsi, lorsque vous activez l'option de traiter votre avertissement comme une erreur de Xcode, dans certains cas, vous avez besoin d'un outil pour contourner le clang pour permettre des avertissements.

et ici Clang Diagnostics jouer ce rôle ..

et le mécanisme pour cela est comme une matrice graphique, qui est arrivé à la pile de pile..push et pop ..

alors quand tu as quelque chose comme ça ..

#pragma clang diagnostic Push

#pragma clang diagnostic ignored "-Wcovered-switch-default"

// code .........

#pragma clang diagnostic pop

vous empêchez CLIG de montrer des messages d'avertissement sur cette zone, alors c'est quelque chose comme SafeArea ..

et vous pouvez trouver plus d'avertissement de clangs que vous pouvez éviter ici. http://fuckingClangwarnings.com

0
Abo3atef