解决:C++ 中 main函数 wmain函数 _tmain函数 WinMain函数 wWInMain函数 _tWinMain函数的区别

前言:2020.1.13更新,重新改了一下

main函数与WinMain函数区别:

前者为控制台程序入口主函数,后者为Windows API窗体程序入口函数,在windef.h文件中定义。


_tmain函数和main函数和wmain函数:

main函数是多字节字符集版本,一般是ASCII编码下使用

wmain函数是main函数的宽字符版本,一般在Unicode编码下使用。

_tmain的定义如下图:

因为此时我的设置的编码是Unicode编码,所以这时候的_tmain也就相当宏定义为wmain

如果设置的编码为Ascii编码,这时候就是如下图:


_tWinMainWinMain函数和wWinMain函数:

_tWinMain函数是wWinMain函数和WinMain函数Unicode版本的别名

跟上面解释的一样,只不过一个是控制台,另一个是应用程序

因为此时我的设置的编码是Unicode编码,所以这时候的_tWinMain也就相当宏定义为wWinMain

如果设置的编码为Ascii编码,这时候就是如下图:


总结:

如果为Unicode编码,_tmain就是wmain,_tWinMain就是wWinMain

如果为Ascii编码,_tmain则为main,_tWinMain就是WinMain

注意:使用这两个函数时要加入<tchar.h>引用

参考文章:https://blog.csdn.net/weixin_42078760/article/details/80500048

原文地址:https://www.cnblogs.com/zpchcbd/p/11933834.html