首頁 >後端開發 >C++ >如何停用 MFC 視窗應用程式中已棄用的警告,以及為什麼 _CRT_NONSTDC_NO_WARNINGS 不起作用?

如何停用 MFC 視窗應用程式中已棄用的警告,以及為什麼 _CRT_NONSTDC_NO_WARNINGS 不起作用?

Barbara Streisand
Barbara Streisand原創
2024-10-23 21:21:02386瀏覽

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

_CRT_SECURE_NO_WARNINGS 的用法

編譯 MFC 視窗應用程式有時會因特定函數或變數的棄用而導致編譯錯誤。此類錯誤之一涉及 strncpy 的不安全使用。為了解決此問題,Visual Studio 建議使用 _CRT_SECURE_NO_WARNINGS 來停用棄用。

對於給定項目,將 _CRT_NONSTDC_NO_WARNINGS 新增至項目配置屬性的預處理器定義部分並不能消除錯誤。這是因為 _CRT_NONSTDC_NO_WARNINGS 是不正確的指令。

正確的解決方案是將 _CRT_SECURE_NO_WARNINGS 加入到預處理器定義中。這可以透過導航到“配置屬性”->“配置屬性”來完成。 C/C->預處理器->預處理器定義。

值得注意的是,新增 _CRT_SECURE_NO_WARNINGS 會停用所有棄用警告,而不僅僅是與 strncpy 相關的警告。如果您希望僅對特定函數停用棄用警告,則可以使用 _CRT_DEPRECATE_NO_WARNINGS 指令,後面接著要抑制警告的特定函數的名稱。例如,若要僅停用 strncpy 的警告,您可以使用:

_CRT_DEPRECATE_NO_WARNINGS("strncpy")

以上是如何停用 MFC 視窗應用程式中已棄用的警告,以及為什麼 _CRT_NONSTDC_NO_WARNINGS 不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn