_tmain和main的区别
来源:互联网 发布:rxjava2 遍历数组 编辑:程序博客网 时间:2024/05/24 03:23
基本目的:
main()是标准C++的函数入口。标准C++的程序入口点函数,默认字符编码格式ANSI
函数签名为:
int main();
int main(int argc, char* argv[]);
_tmain()是微软操作系统(windows)提供的对unicode字符集和ANSI字符集进行自动转换用的程序入口点函数。
函数签名为:
int _tmain(int argc, TCHAR *argv[])
当你程序当前的字符集为unicode时,int _tmain(int argc, TCHAR *argv[])会被翻译成
int wmain(int argc, wchar_t *argv[])
当你程序当前的字符集为ANSI时,int _tmain(int argc, TCHAR *argv[])会被翻译成
int main(int argc, char *argv[])
区别:
_tmain()是unicode版本的的main()
_tmain这个符号多见于VC++创建的控制台工程中,这个是为了保证移植unicode而加入的(一般_t、_T、T()这些东西都和unicode有关系),对于使用非unicode字符集的工程来说,实际上和main没有差别(其实就算是使用unicode字符集也未必有多大的差别)。
1。 main是C程序的函数,_tmain是main为了支持unicode所使用的main的别名
2。 _tmain的定义在<tchar.h>可以找到,如#define _tmain main,所以要加#i nclude <tchar.h>才能用。
3。因此_tmain compile后仍为main,所以都可以执行
另外,wmain也是main的另一个别名,是为了支持二个字节的语言环境
注意:是不是用UNICODE不是在程序启动的时候决定的,而是在程序编译的时候看有没有预处理定义"UNICODE",所以_tmain的作用就和使用TCHAR而非具体的char或w_char一样,当编译时定义了UNICODE时,就是wmain当没定义时就是main,
三个main函数的作用范围:
1) main()是WINDOWS的控制台程序(32BIT)或DOS程序(16BIT),
2) WinMain()是WINDOWS的GUI程序,
wmain()是UNICODE版本的main(),
3)_tmain()是个宏,如果是UNICODE则他是wmain()否则他是main()
外,wmain也是main的另一個别名,是为了支持二个字节的语言环境
- _tmain()和main()的区别
- _tmain和main的区别
- _tmain()和main()的区别
- _tmain()和main()的区别
- _tmain()和main()的区别
- _tmain()和main()的区别
- _tmain和main的区别
- _tmain()和main()的区别
- _tmain()和main()区别
- _tmain()和main()区别
- _tmain()和main()区别
- _tmain()和main()区别
- _tmain()和main()区别
- int main 和 int _tmain 的区别
- vs中 main和_tmain的区别
- vs中 main和_tmain的区别
- _tmain与main的区别
- _tmain与main的区别
- android中查看项目数字证书的两种方法
- 用C语言篇写一个成绩单,含有姓名,科目名,和总成绩。
- 在VS2008中创建wxWidgets项目向导(一)
- QTP参数类型
- MySQL索引类型一览 让MySQL高效运行起来
- _tmain和main的区别
- jboss for linux安装配置
- SetUniqueList使List集合中的元素没有重复值
- 获取图片大小
- java swing
- android 创建service root权限执行脚本
- 软件工程师如同园丁
- PL/SQL工具优化配置(个性化设置)
- C语言:输入一个数,把他的约数求出。