2011-12-31 6 views
-3

Visual StudioでUnicode文字セットを使用しているときに、WinMain()関数をオーバーロードするにはどうすればよいですか?ありがとうございました。Unicode文字セットを使用しているときにWinMain()関数をオーバーロードする

Here's the code i am talking about

+0

過負荷 'のWinMain()':あなたはそれがUNICODEで仕事をしたいと非UNICODEが、その後構築する場合、あなたはそれがpszCmdLineパラメータにはwchar_t *で、char *を受け入れるSUSEを作る必要がありますか?何?どうして?それは悪いようです。 – ssube

+0

私はゲームエンジンを書くことを試みています。 –

+0

どのような目的のためにですか?何をしたいですか?私は、これがエントリーポイントとして一度だけ呼ばれていることを考慮して、実際の使用は考えられません。たぶんあなたは '_tWinMain'を探しています。これはUnicodeかANSI charのどちらかでコンパイルしたい場合のTCHARバージョンです。 – tenfour

答えて

2

WinMain関数をオーバーロードにはポイントがありませんが、この機能は、起動時に一度だけ呼ばれます。

int WINAPI _tWinMain(
    HINSTANCE hInstanceExe, 
    HINSTANCE, 
    PTSTR pszCmdLine, 
    int nCmdShow); 
+0

私はそれが過負荷になる可能性があることを知っています。それが私がこの質問を投稿した理由です。 –

+3

@Abdulali:いいえ、できません。 Unicodeエントリポイントの名前は 'wWinMain'です。異なる名前の2つの関数をオーバーロードすることはできません。 '_tWinMain'は' UNICODE'マクロが定義されているかどうかによって 'WinMain'または' wWinMain'に展開されます。 – ildjarn

+0

私は完全にうまく動作するオーバーロードされた 'WinMain()'関数を使ってコードを実行しています。しかし、一度私はそれをVS2010にインポートすると、クラッシュします。 IveはMSDNでそれを調べ、その理由がWinMain()の 'lpCmdLine'パラメータであることを知りました。ただし、MSDNにはサンプルコードはありません。 –

関連する問題