Visual C プロジェクトでは、プリプロセッサ定義 _CRT_SECURE_NO_WARNINGS を使用して非推奨を無効にすることを示唆するコンパイル エラーが発生することがあります。この記事では、この問題について調査し、解決策を示します。
MFC アプリケーションを使用するときに、次のエラーが発生する場合があります:
error C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
これは、関数がまたはコード内の変数は安全でないとみなされます。 Visual C では、このような関数は時間の経過とともに廃止され、より安全な代替手段が推奨されます。これらの非推奨の警告を無効にするには、_CRT_SECURE_NO_WARNINGS プリプロセッサ定義を使用できます。
現在直面している問題は、不適切なプリプロセッサ定義に起因しています。 _CRT_NONSTDC_NO_WARNINGS を使用する代わりに、_CRT_SECURE_NO_WARNINGS を使用する必要があります。この定義をプロジェクトに追加するには:
これにより、プロジェクト内の非推奨警告が無効になります。
_CRT_NONSTDC_NO_WARNINGS と _CRT_SECURE_NO_WARNINGS の違いは、その範囲にあります。 _CRT_NONSTDC_NO_WARNINGS は非標準 C 関数の警告を無効にし、_CRT_SECURE_NO_WARNINGS はセキュリティ関連関数の警告を抑制します。この場合、エラーはセキュリティ関数に関連しているため、_CRT_SECURE_NO_WARNINGS を使用するのが適切な定義です。
_CRT_SECURE_NO_WARNINGS プリプロセッサ定義を正しく使用することで、非推奨の警告を抑制してコンパイルできます。 MFC アプリケーションが正常に動作しました。警告を無効にする前に、安全でない関数の使用によるセキュリティへの影響を慎重に評価してください。
以上がVisual C プロジェクトで非推奨の警告を無効にするための正しいプリプロセッサ定義は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。