wmain の使用Using wmain

Microsoft 固有の仕様Microsoft Specific

Unicode プログラミング モデルでは、main 関数のワイド文字バージョンを定義できます。In the Unicode programming model, you can define a wide-character version of the main function. Unicode プログラミング モデルに準拠した移植性のあるコードを作成する場合は、main ではなく wmain を使用します。Use wmain instead of main if you want to write portable code that adheres to the Unicode programming model.


wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )


wmain に渡す仮引数は、main に渡す際の形式に準拠して宣言します。You declare formal parameters to wmain using a similar format to main. さらに、ワイド文字の引数と、必要であればワイド文字環境ポインターもプログラムに渡すことができます。You can then pass wide-character arguments and, optionally, a wide-character environment pointer to the program. wmain の引数 argvenvp の型は wchar_t* です。The argv and envp parameters to wmain are of type wchar_t*. 次に例を示します。For example:

プログラムが main 関数を使用している場合、マルチバイト文字環境は、プログラムの起動時にランタイム ライブラリが作成します。If your program uses a main function, the multibyte-character environment is created by the run-time library at program startup. マルチバイト文字環境で使われるワイド文字のコピーは、必要に応じて作成されます (たとえば、_wgetenv 関数や _wputenv 関数が呼び出されたとき)。A wide-character copy of the environment is created only when needed (for example, by a call to the _wgetenv or _wputenv functions). _wputenv を最初に呼び出すとき、または MBCS 環境が既に存在する場合に _wgetenv を最初に呼び出すとき、対応するワイド文字列環境が作成され、その後は作成されたワイド文字列環境が _wenviron グローバル変数 (_environ グローバル変数のワイド文字バージョン) によって参照されます。On the first call to _wputenv, or on the first call to _wgetenv if an MBCS environment already exists, a corresponding wide-character string environment is created and is then pointed to by the _wenviron global variable, which is a wide-character version of the _environ global variable. この時点までで、2 つの環境のコピー (MBCS および Unicode) が同時に存在していることになるわけですが、両方ともプログラムが消滅するまでオペレーティング システムによって保持されます。At this point, two copies of the environment (MBCS and Unicode) exist simultaneously and are maintained by the operating system throughout the life of the program.

プログラムが wmain 関数を使っている場合は、ワイド文字環境がプログラムの起動時に作成され、また _wenviron グローバル変数によって環境のアドレスが示されます。Similarly, if your program uses a wmain function, a wide-character environment is created at program startup and is pointed to by the _wenviron global variable. MBCS (ASCII) 環境は、_putenv または getenv を初めて呼び出したときに作成され、_environ グローバル変数によってアドレスが示されます。An MBCS (ASCII) environment is created on the first call to _putenv or getenv, and is pointed to by the _environ global variable.

MBCS 環境の詳細については、「ランタイム ライブラリ リファレンス」の「国際化」を参照してください。For more information on the MBCS environment, see Internationalization in the Run-Time Library Reference.

Microsoft 固有の仕様はここまでEND Microsoft Specific

関連項目See also

main 関数とプログラム実行main Function and Program Execution