使用 wmain 取代 main
Microsoft 特定的
在 Unicode 程式設計模型中,您可以定義寬字元版本的 main 函式。 如果您要撰寫遵守 Unicode 規格的可攜式程式碼,請使用 wmain 而非 main。
您可以使用類似於 main 的格式將形式參數宣告為 wmain。 然後您可以傳遞寬字元引數以及 (選擇性的) 一個指向程式的寬字元環境指標。 wmain 的 argv 和 envp 參數都是 wchar_t* 型別。
如果您的程式使用 main 函式,則作業系統會在程式啟動時建立多位元組字元環境。 只有在需要時才會建立該環境的寬字元複本 (例如,藉由呼叫 _wgetenv 或 _wputenv 函式)。 在第一次呼叫 _wputenv 時,或在第一次呼叫 _wgetenv 時,如果 MBCS 環境已經存在,則會建立對應的寬字元字串環境,然後再由 _wenviron 全域變數 (是 _environ 全域變數的寬字元版本) 指向該變數。 此時會同時存在兩個環境 (MBCS 和 Unicode) 的複本,並由作業系統在整個程式存留期裡進行維護。
同樣的,如果您的程式使用 wmain 函式,則會在第一次呼叫 _putenv 或 getenv 時建立 MBCS (ASCII) 環境,並透過 _environ 全域變數指向該環境。
如需有關 MBCS 環境的詳細資訊,請參閱《執行階段程式庫參考》中的單一位元組和多位元組字元集。