wmain 使用的支援
Visual C++ 支援定義 wmain 函式,並將寬字元引數傳遞至 Unicode 應用程式。 您可以使用類似 main
的格式,將正式參數宣告為 wmain 。 然後您可以傳遞寬字元引數以及 (選擇性的) 一個指向程式的寬字元環境指標。 wmain 的 argv
與 envp
參數都是 wchar_t*
類型。 例如:
wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
注意
MFC Unicode 應用程式會使用 wWinMain
作為進入點。 在此情況下, CWinApp::m_lpCmdLine
是 Unicode 字串。 請務必使用 /ENTRY 連結器選項進行設定 wWinMainCRTStartup
。
如果您的程式使用 main 函式,則多位元組字元環境就會在程式啟動時由執行階段程式庫建立。 環境的寬字元複本只有在需要時才建立 (例如,藉著呼叫 _wgetenv
或 _wputenv
函式)。 在第一次呼叫 _wputenv
時,或 _wgetenv
如果 MBCS 環境已經存在,則會建立對應的寬字元字串環境。 然後,全域變數會指向 _wenviron
環境,這是全域變數的 _environ
寬字元版本。 此時,環境 (MBCS 和 Unicode) 的兩個複本同時存在,並在整個程式的整個生命週期中由執行時間系統維護。
同樣的,如果您的程式使用 wmain 函式,寬字元環境在程式啟動時建立,並且由 _wenviron
全域變數指著。 MBCS (ASCII) 環境會在第一次呼叫 _putenv
或 getenv
時建立,並由全域變數指向 _environ
。