来源参考:https://www.cnblogs.com/lucyjiayou/archive/2011/05/07/2039621.html

tchar.h>可以找到,如#define _tmain main,所以要加#i nclude <tchar.h>才能用。
3。因此_tmain compile后仍为main,所以都可以执行
另外,wmain也是main的另一个别名,是为了支持二个字节的语言环境

//

/* Program */
#define _tmain main

#define _tWinMain WinMain

#ifdef _POSIX_

#define _tenviron environ

#else

#define _tenviron _environ

#endif

#define __targv __argv 在 tchar.H 文件中定义的 _tmain只是一个宏。

//

1) main是c/c++的标准入口函数名 2) winmain是windows api窗体程序的入口函数(int winapi winmain()中winapi是__stdcall的宏 在windows.h中定义) 3) _tmain _twinmain是unicode版本函数别名 为了编译时能自动转换字符串编码 **********************************************************************************

**********************************************************************************

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,所以都可以执行 **********************************************************************************

**********************************************************************************

1) main()是WINDOWS的控制台程序(32BIT)或DOS程序(16BIT), 2) WinMain()是WINDOWS的GUI程序, wmain()是UNICODE版本的main(), 3)_tmain()是个宏,如果是UNICODE则他是wmain()否则他是main() 外,wmain也是main的另一個别名,是为了支持二个字节的语言环境

c中_tmain()和main()区别的更多相关文章

  1. main()和_tmain()有什么区别

    用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream.h>而是&l ...

  2. 多玩YY语音的面试题:C++中如何在main()函数之前执行操作?

    多玩YY语音的面试题:C++中如何在main()函数之前执行操作? 第一反应main()函数是所有函数执行的开始.但是问题是main()函数执行之前如何执行呢? 联想到MFC里面的 C**App类的t ...

  3. java中ArrayList 、LinkList区别

    转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...

  4. java中equals和==的区别 (转)

    java中equals和==的区别  值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引 ...

  5. 【转】Java中equals和==的区别

    [转]Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boole ...

  6. java中a++与++a区别

    java中a++与++a区别 a++与++a的区别,如果单独使用没有任何区别,如果在运算中就有区别了,a++是先运算在赋值,而++a是先赋值在运算!! 先看a++的代码哦 class demo1 { ...

  7. java中==与equel的区别

    值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地 ...

  8. C#中equal与==的区别

    C#中equal与==的区别 来源 https://www.cnblogs.com/dearbeans/p/5351695.html C#中,判断相等有两种方式,一种是传统的==操作,一种是objec ...

  9. C# 最基本的涉及模式(单例模式) C#种死锁:事务(进程 ID 112)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务,解决方案: C#关闭应用程序时如何关闭子线程 C#中 ThreadStart和ParameterizedThreadStart区别

    C# 最基本的涉及模式(单例模式) //密封,保证不能继承 public sealed class Xiaohouye    { //私有的构造函数,保证外部不能实例化        private  ...

随机推荐

  1. VuePress初探(一)

    原文参考链接 手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunch ...

  2. Linux常用命令--不断更新

    Linux命令: !. 1.[root@loc8lhost/root]# 表示登陆进去系统,其中#是超级⽤用户也即root⽤用 户的系统提示符 #. 2.reboot命令可以重启系统 $. 3.关闭系 ...

  3. 一个后端开发的 Vue 笔记【入门级】

    一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的 ...

  4. sql server 2008 merge matched判定条件

    SQL Server 2008 开始支持 MERGE语句    -- 源表 CREATE TABLE test_from (id INT, val VARCHAR(20));   -- 目标表 CRE ...

  5. github学生认证——申请学生开发包

    写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元. 专业的桌面IDE:IntelliJ IDEA,PyCharm等.学生的免费订阅,每年更新一次. ...

  6. SQL Node 1.05版

    输出: select a.f1, b.f2 from table01 a, ( select a from tb ) b where a.f1=1 and b.f2=2 or b.f3=3 order ...

  7. 20190916-01linux文件与目录结构 000 001

    1./bin 是Binary的缩写,这个目录存放着最经常使用的命令 2./sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序 3./home 存放普通用户的主目录,在 ...

  8. 反序列化之PHP

    反序列化漏洞 #PHP反序列化 原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果.在反序列化的过程中自动触发了某些魔术方法. ...

  9. Spring基于XML的IOC环境搭建及入门

    一.使用Maven构建Java项目 * 项目目录结构 1. 在sun.service包下创建UserDao接口和接口实现类: UserDao接口: package sun.service; /** * ...

  10. Redis哨兵模式(sentinel)部署

    1 主机环境 我这里使用的操作系统是centos 6.5,安装在vmware上,共三台. 主机名 IP 操作系统 用户名 安装目录 node1 192.168.1.101 centos 6.5 wxy ...