次の方法で共有


main に代わる wmain の使用

Microsoft 固有の仕様 →

Unicode プログラミング モデルでは、main 関数のワイド文字バージョンを定義できます。 Unicode 仕様に準拠した移植性のあるコードを作成する場合は、main ではなく wmain を使用します。

wmain に渡す仮引数は、main に渡す際の形式に準拠して宣言します。 さらに、ワイド文字の引数と、必要であればワイド文字環境ポインターもプログラムに渡すことができます。 wmain の引数 argv と envp の型は wchar_t* です。

プログラムが main 関数を使用している場合、マルチバイト文字環境は、プログラムの起動時にオペレーティング システムが作成します。 マルチバイト文字環境で使われるワイド文字のコピーは、必要に応じて作成されます (たとえば、_wgetenv 関数や _wputenv 関数が呼び出されたとき)。 _wputenv を最初に呼び出すとき、または MBCS 環境が既に存在する場合に _wgetenv を最初に呼び出すとき、対応するワイド文字列環境が作成され、その後は作成されたワイド文字列環境が _wenviron グローバル変数 (_environ グローバル変数のワイド文字バージョン) によって参照されます。 この時点までで、2 つの環境のコピー (MBCS および Unicode) が同時に存在していることになるわけですが、両方ともプログラムが消滅するまでオペレーティング システムによって保持されます。

同様に、プログラムが wmain 関数を使っている場合は、MBCS (ASCII) 環境が _putenv または getenv の最初の呼び出し時に作成され、また _environ グローバル変数によって環境のアドレスが示されます。

MBCS 環境の詳細については、「ランタイム ライブラリ リファレンス」の「1 バイト文字セットとマルチバイト文字セット」を参照してください。

参照

関連項目

main: プログラムの起動