main,tmain,winmain()等函数——UNICODE - sensensen - 博客园

最近使用Visual Studio 2008 发现 入口函数为_tmain,google一下,得解:


1.main是C程序的函数,_tmain是main为了支持unicode所使用的main的別名
2._tmain的定义在<tchar.h>可以找到,如#define _tmain main,所以要加#include <tchar.h>才能用。
_tmain()是个宏,如果是UNICODE则他是wmain()否则他是main()

3.因此_tmain compile后仍为main,所以都可以执行
main()是WINDOWS的控制台程序(32BIT)或DOS程序(16BIT),
WinMain()是WINDOWS的GUI程序,
wmain()是UNICODE版本的main(),
_tmain()是个宏,如果是UNICODE则他是wmain()否则他是main()

_tWinmain()是个宏,如果是UNICODE则他是wWinmain()否则他是WinMain();
另外,wmain也是main的另一個别名,是为了支持二个字节的语言环境

main是控制台程序的入口;

winMain是win32   Application程序的入口;

_t是为了UNICDOE的兼容。

_tmain的定义可以通过go to definition找到,有一个条件编译

#ifdef _UNICODE
。。。这部分编译
#else
。。。这部分不编译
因为默认的VS2008中的是支持_UNICODE的,所以程序中#else下的部分是灰色的,因为不编译了。否则,就该上面的是灰色了。

posted on 2012-07-13 17:00  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/07/13/2590526.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值