Heim  >  Artikel  >  Backend-Entwicklung  >  Wie deaktiviert man veraltete Warnungen in MFC-Fensteranwendungen und warum funktioniert _CRT_NONSTDC_NO_WARNINGS nicht?

Wie deaktiviert man veraltete Warnungen in MFC-Fensteranwendungen und warum funktioniert _CRT_NONSTDC_NO_WARNINGS nicht?

Barbara Streisand
Barbara StreisandOriginal
2024-10-23 21:21:02292Durchsuche

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

Die Verwendung von _CRT_SECURE_NO_WARNINGS

Das Kompilieren von MFC-Fensteranwendungen kann manchmal zu Kompilierungsfehlern führen, da bestimmte Funktionen oder Variablen veraltet sind. Ein solcher Fehler betrifft die unsichere Verwendung von strncpy. Um dieses Problem zu beheben, schlägt Visual Studio vor, die veraltete Funktion mithilfe von _CRT_SECURE_NO_WARNINGS zu deaktivieren.

Im Fall des gegebenen Projekts wird der Fehler durch Hinzufügen von _CRT_NONSTDC_NO_WARNINGS zum Abschnitt „Präprozessordefinitionen“ der Konfigurationseigenschaften des Projekts nicht behoben. Dies liegt daran, dass _CRT_NONSTDC_NO_WARNINGS eine falsche Anweisung ist.

Die richtige Lösung besteht darin, _CRT_SECURE_NO_WARNINGS zu den Präprozessordefinitionen hinzuzufügen. Dies kann durch Navigieren zu Konfigurationseigenschaften -> C/C -> Präprozessor -> Präprozessordefinitionen.

Es ist erwähnenswert, dass durch das Hinzufügen von _CRT_SECURE_NO_WARNINGS alle veralteten Warnungen deaktiviert werden, nicht nur diejenigen, die sich auf strncpy beziehen. Wenn Sie Verfallswarnungen nur für bestimmte Funktionen deaktivieren möchten, können Sie die Direktive _CRT_DEPRECATE_NO_WARNINGS gefolgt vom Namen der jeweiligen Funktion verwenden, für die Sie Warnungen unterdrücken möchten. Um beispielsweise Warnungen nur für strncpy zu deaktivieren, würden Sie Folgendes verwenden:

_CRT_DEPRECATE_NO_WARNINGS("strncpy")

Das obige ist der detaillierte Inhalt vonWie deaktiviert man veraltete Warnungen in MFC-Fensteranwendungen und warum funktioniert _CRT_NONSTDC_NO_WARNINGS nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn