main()与_tmain()的区别
来源:互联网 发布:php mbstring 编辑:程序博客网 时间:2024/06/05 14:22
区别
tmain()是Unicode版本的的main(),所以main()与_tmain()其实就是同一个东西。
_tmain这个符号多见于VC++创建的控制台工程中,这个是为了保证移植Unicode而加入的(一般_t、_T、T()这些东西都和Unicode有关系),对于使用非Unicode字符集的工程来说,实际上和main没有差别(其实就算是使用Unicode字符集也未必有多大的差别)。
_tmain()是为了支持Unicode编码所使用的main()的一个别名而已。关于Unicode编码可以查看可以查看[Unicode]
_tmain的定义在tchar.h,在tchar.h的宏定义可以找到:
#define _tmain main
所以程序要加#include <tchar.h>
才能用。
main()是标准的C++的函数入口,C++的程序入口函数的编码格式是 [ANSI编码]
扩展
在stdafx.h会发现有以下几句代码:
#define _tmain wmain#define _tWinMain wWinMain
或者
#define _tmain main#define _tWinMain WinMain#ifdef _POSIX_#define _tenviron environ#else#define _tenviron _environ#endif#define __targv __argv
1) wmain也是main的另一个别名,是为了支持二个字节的语言环境。
2) winmain是windows api窗体程序的入口函数(int winapi winmain()中winapi是__stdcall的宏 在windows.h中定义)
3) _tmain _twinmain是Unicode版本函数别名 为了编译时能自动转换字符串编码
总结
1) main()是WINDOWS的控制台程序(32BIT)或DOS程序(16BIT)。
2) WinMain()是WINDOWS的GUI程序,wmain()是Unicode版本的main()。
3)_tmain()是个宏,如果是Unicode则他是wmain()否则他是main()
外,wmain也是main的另一個别名,是为了支持二个字节的语言环境。
文章转载编辑自:http://www.cnblogs.com/lucyjiayou/archive/2011/05/07/2039621.html
- _tmain与main的区别
- _tmain与main的区别
- _tmain()与main()的区别
- _tmain与main的区别
- _tmain与main的区别
- main()与_tmain()的区别
- main()与_tmain()区别
- 浅析_tmain()与main()的区别
- 浅析_tmain()与main()的区别
- 浅析_tmain()与main()的区别
- _tmain()和main()的区别
- main WinMain _tmain的区别
- _tmain和main的区别
- _tmain()和main()的区别
- _tmain()和main()的区别
- _tmain()和main()的区别
- _tmain()和main()的区别
- _tmain和main的区别
- Javascript清除所有的cookie
- 代理模式
- 生成器与__next__关系
- html5学习小结,float练习。
- Median of Two Sorted Arrays 一种很蠢的解题方法
- main()与_tmain()的区别
- 黑马程序员教你如何写出优秀的前端工程师简历
- iOS手势密码浅析
- [Android]自定义View带效果的滚动数字
- HDU 5773 The All-purpose Zero lis
- easyui添加/删除
- MVC三层框架详解
- 欢迎使用CSDN-markdown编辑器
- Android ScaleDrawable