APIENTRY和PASCAL的定义是一样的:都是__stdcall
APIENTRY名字听起来更高端洋气一点,毕竟PASCAL是人家编程软件的名字
WinMain是入口,声明是
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmd, INT nShow);
注意那个LPSTR,它是char*
我想你大概听说过什么叫“宽字符”吧?如果是宽字符怎么办呢,有这样一个声明:
int APIENTRY wWinMain(HINSTANCE hInst, HINSTANCE hPrev, LPWSTR szCmd, INT nShow);
然后也许你还听说过既可以编译成本地编码也可以编译成unicode编码的代码写法,比如
TEXT("abc")
可以是"abc" 也可以是 L"abc"
那么你应该能理解_tWinMain是怎么回事:和TEXT那个同理。_tWinMain可以是WinMain也可以是wWinMain