Maison >développement back-end >C++ >Comment désactiver les avertissements obsolètes dans les applications de fenêtre MFC et pourquoi _CRT_NONSTDC_NO_WARNINGS ne fonctionne pas ?

Comment désactiver les avertissements obsolètes dans les applications de fenêtre MFC et pourquoi _CRT_NONSTDC_NO_WARNINGS ne fonctionne pas ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-23 21:21:02396parcourir

How to Disable Deprecated Warnings in MFC Window Applications, and Why _CRT_NONSTDC_NO_WARNINGS Doesn't Work?

L'utilisation de _CRT_SECURE_NO_WARNINGS

La compilation d'applications de fenêtre MFC peut parfois entraîner des erreurs de compilation en raison de la dépréciation de fonctions ou de variables spécifiques. L'une de ces erreurs implique l'utilisation dangereuse de strncpy. Pour résoudre ce problème, Visual Studio suggère de désactiver la dépréciation en utilisant _CRT_SECURE_NO_WARNINGS.

Dans le cas du projet donné, l'ajout de _CRT_NONSTDC_NO_WARNINGS à la section Définitions du préprocesseur des propriétés de configuration du projet n'élimine pas l'erreur. En effet, _CRT_NONSTDC_NO_WARNINGS est une directive incorrecte.

La bonne solution consiste à ajouter _CRT_SECURE_NO_WARNINGS aux définitions du préprocesseur. Cela peut être fait en accédant à Propriétés de configuration -> C/C -> Préprocesseur -> Définitions du préprocesseur.

Il convient de noter que l'ajout de _CRT_SECURE_NO_WARNINGS désactive tous les avertissements de dépréciation, pas seulement ceux liés à strncpy. Si vous souhaitez désactiver les avertissements de dépréciation pour des fonctions spécifiques uniquement, vous pouvez utiliser la directive _CRT_DEPRECATE_NO_WARNINGS suivie du nom de la fonction particulière pour laquelle vous souhaitez supprimer les avertissements. Par exemple, pour désactiver les avertissements pour strncpy uniquement, vous utiliserez :

_CRT_DEPRECATE_NO_WARNINGS("strncpy")

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn