最近下载别人的demo后运行别人的exe可以,但是把别人的源代码拿去编译后老是主函数处会出错,查了一下原来是主函数参数和字符集之间问题。
1:int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd )
和int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPTSTR lpCmdLine, __in int nShowCmd )
当使用第一个时候字符集 不管是多字节还是UNICODE都编译没问题
当使用第二个时候字符集一定要选择多字节,选择UNICODE编译会出错
2:int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
和int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
当使用第一个时候字符集一定要选择多字节,选择UNICODE编译会出错
当使用第二个时候字符集 不管是多字节还是UNICODE都编译没问题
最好以后添加宏定义
#if defined(UNICODE)
int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance,
__in_opt LPSTR lpCmdLine, __in int nShowCmd )
#else
int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance,
__in_opt LPTSTR lpCmdLine, __in int nShowCmd )
#endif
{
................
................
return 0;
}