20

これらの 2 つの機能との違いは何ですか?:

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)

int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
4

3 に答える 3

51

_tWinMain#define、tchar.hの適切なバージョンのへのショートカットにすぎませんWinMain

_UNICODEが定義されている場合は、に_tWinMain展開されwWinMainます。それ以外_tWinMainは、と同じWinMainです。

関連するマクロは次のようになります(実際には他の多くのコードが散在しています):

#ifdef  _UNICODE
#define _tWinMain  wWinMain
#else
#define _tWinMain  WinMain
#endif
于 2011-01-13T15:04:03.280 に答える
1

このリンクから:

_tWinMainは実際にはhPrevInstanceパラメーターを取りますが、そのパラメーターは使用されません。

_tWinMainは、(TCHAR.h内の)WinMainに対する単なる#defineです。

2つの間に違いはありません。

_tWinMainは、UNICODEが定義されていない場合はWinMainに定義され、定義されている場合はwWinMainに定義されます。その目的は、ansiとunicodeの両方でビルドするコードを記述できるようにすることです。

于 2011-01-13T15:03:14.823 に答える