Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melumpuhkan Amaran Dihentikan dalam Aplikasi Tetingkap MFC, dan Mengapa _CRT_NONSTDC_NO_WARNINGS Tidak Berfungsi?

Bagaimana untuk Melumpuhkan Amaran Dihentikan dalam Aplikasi Tetingkap MFC, dan Mengapa _CRT_NONSTDC_NO_WARNINGS Tidak Berfungsi?

Barbara Streisand
Barbara Streisandasal
2024-10-23 21:21:02292semak imbas

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

Penggunaan _CRT_SECURE_NO_WARNINGS

Menyusun aplikasi tetingkap MFC kadangkala boleh menyebabkan ralat penyusunan disebabkan oleh penamatan fungsi atau pembolehubah tertentu. Satu ralat sedemikian melibatkan penggunaan strncpy yang tidak selamat. Untuk menangani isu ini, Visual Studio mencadangkan melumpuhkan penamatan dengan menggunakan _CRT_SECURE_NO_WARNINGS.

Dalam kes projek yang diberikan, menambah _CRT_NONSTDC_NO_WARNINGS pada bahagian Definisi Prapemproses bagi Sifat Konfigurasi projek tidak menghapuskan ralat. Ini kerana _CRT_NONSTDC_NO_WARNINGS ialah arahan yang salah.

Penyelesaian yang betul ialah menambah _CRT_SECURE_NO_WARNINGS pada Definisi Prapemproses. Ini boleh dilakukan dengan menavigasi ke Configuration Properties -> C/C -> Prapemproses -> Definisi Prapemproses.

Perlu diambil perhatian bahawa penambahan _CRT_SECURE_NO_WARNINGS melumpuhkan semua amaran penamatan, bukan hanya yang berkaitan dengan strncpy. Jika anda ingin melumpuhkan amaran penamatan untuk fungsi tertentu sahaja, anda boleh menggunakan arahan _CRT_DEPRECATE_NO_WARNINGS diikuti dengan nama fungsi tertentu yang anda ingin sekat amaran. Sebagai contoh, untuk melumpuhkan amaran untuk strncpy sahaja, anda akan menggunakan:

_CRT_DEPRECATE_NO_WARNINGS("strncpy")

Atas ialah kandungan terperinci Bagaimana untuk Melumpuhkan Amaran Dihentikan dalam Aplikasi Tetingkap MFC, dan Mengapa _CRT_NONSTDC_NO_WARNINGS Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn