2011年3月10日木曜日

UNIXの(POSIX準拠)プログラムをビルドする時に、なるべく警告やエラーを出さない方法

Visual C++
○2010 Express
Visual C++では、UNIXの(POSIX準拠)プログラムのビルドを、ある程度サポートしています。
標準の状態では警告やエラーが出ますが、互換性のある機能に関しては、警告やエラーを出さないようにする事も出来ます。


**** 手順
o 標準ライブラリのヘッダーファイルがインクルードされる前に、次のようなコードを入れます。
--------
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_NONSTDC_NO_WARNINGS
#define _USE_MATH_DEFINES
--------

    + 他にもあるかもしれません。発見しましたら、この欄に追加します。

o それぞれの定数の意味は
    + _CRT_SECURE_NO_WARNINGS = 標準ライブラリにある非推奨機能について、警告を出しません
    + _CRT_NONSTDC_NO_WARNINGS = ISO標準では無い機能について、非推奨の警告を出しません
    + _USE_MATH_DEFINES = ISO標準では無い数値計算用定数の定義を、無効にしません
    + 「非推奨」の意味は、「マイクロソフト社が非推奨と判断したもの」です。
    + 詳しくは、下にある参考資料をご覧下さい。

o おすすめの書き方は、3通りあります。
    + 詳しくは、「C/C++標準ライブラリを正しく使う時に、非推奨警告を出さない方法


**** 参考資料
▽CRT のセキュリティ機能(MSDNライブラリ)


**** 確認したバージョン
o Microsoft Visual C++ 2010 Express


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > Visual C++の文字セット設定を、マルチバイト文字セットにする方法
    新規作成したプロジェクトからstdafx.hを完全に外す方法
    Win32コンソールアプリケーションをランタイム不要にする方法