2011年5月4日水曜日

_tmain関数の代わりに main関数を使う方法 - Visual C++

Visual C++
○2010 Express
Visual C++では、C言語やC++のスタートアップコードとして、_tmain関数の使用を推奨しています。
C/C++の標準仕様に従ってコードを書きたい時は、_tmain 関数を、main 関数に書き直す事が出来ます。


**** 手順
o 次のように書かれている部分を、main関数に置き換えます。
--------
int _tmain(int argc, _TCHAR* argv[])
--------


o 変更後の例
--------
int main(int argc, char* argv[])
--------


** 使用出来る書き方
o 引数は3つまでサポートしています。
    + 1つ目の argc は、引数の数。
    + 2つ目の argv は、引数の配列。
    + 3つ目の envp は、環境変数の配列へのポインタです。
--------
/* C言語風スタイル*/
int main(void)
int main(int argc, char** argv)
int main(int argc, char **argv, char **envp)

/* C++風スタイル */
int main()
int main(int argc, char* argv[])
int main(int argc, char *argv[], char *envp[])
--------



**** メモ
o Visual C++には、main関数に相当する関数が、少なくとも4つありました。
    + main 関数 = C/C++標準
    + wmain 関数 = Visual C++拡張。引数の文字セットは UNICODE(UTF-16)
    + _tmain 関数 = Visual C++拡張。ビルド時の文字セット切り替え可能
    + WinMain 関数 = Windowsの機能 = Win32 API
o コンソールアプリケーションを作る場合、通常は、main関数か、_tmain関数を使います。


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


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > UNIXの(POSIX準拠)プログラムをビルドする時に、なるべく警告やエラーを出さない方法
    Visual C++の文字セット設定を、マルチバイト文字セットにする方法
    新規作成したプロジェクトからstdafx.hを完全に外す方法