zoukankan      html  css  js  c++  java
  • 浅谈_tmain()函数 | 非常巴适

    浅谈_tmain()函数 | 非常巴适

    浅谈_tmain()函数

    这个学期学C/C++,老师叫我们下一个Visual C++ 6.0,本人有一种爱好就是什么东西都喜欢新的,尤其对新版本软件有特别癖好!所以呢,我就鬼使神差的下了一个Visual C++ 2010来用着,可是刚打开的时候我都有些摸不清头脑了,和Visual C ++ 6.0有很大的差别。

    一开始我连Visual Studio、和Visual C++,有什么不同我都不知道。纠结了很久,上网查了下资料,原来前者是一个多语种的集成开发环境,不仅有C++还有C#、Visual Basic等…最后选择还是下载了Visual C++ 2010。

    然后呢,打开第一个文件就蒙了、软件自动生成了如下代码:

    #include "stdafx.h"

    int _tmain(int argc, _TCHAR* argv[])

    {

    return 0;

    }

    首先头文件不是stdio.h,然后下面那个什么东东。看不懂了。……呵呵,你看懂了吗?我算是基本上搞清楚了,下面看我慢慢道来。

    1、头文件stdafx.h

    stdafx.h的英文全称为:Standard Application Framework Extensions,这是一个预编译头文件。所谓预编译头文件就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

    2、_tmain()函数

    其实说简单点,这个_tmain()函数和C/C++中的main()函数相同,只是为了兼容unicode,而这样写的。_tmain()只是main()函数的一个别名。所以这个函数经过编译后仍然是main()函数。

    3、_tmain(int argc, _TCHAR* argv[])中的参数:

    int argc表示参数(包括程序名)个数,char *argv[] 字符串数组,字符串数组的每个单元是char*类型的,指向一个c风格字符串。所以_TCHAR类型是宽字符型字符串,和我们一般常用的字符串不同,它是32位或者更 高的操作系统中所使用的类型。

    简单的说argv是一个指针数组,其中每个指针指向一个字符串,即一个参数,因此argv[0]就是程序名,argv[1]就是第一个参数。其实_tmain()中的参数可以用一个void代替。

    综上,神马_tmain()、stdafx.h这些都是些浮云……但是这样的写法看似更专业,更有魅力,推荐大家这样写哈!

  • 相关阅读:
    Spring session redis
    HttpClient Post Form data and get Response String
    compareTo & toString
    Zookeeper 脑裂
    Maven的HTTP代理设置
    Linux 硬件信息
    [Redis] RDB & AOF
    真实场景中WebRTC 用到的服务 STUN, TURN 和 signaling
    推荐一个VS2015 插件 Favorite Documents
    笔记 Activator.CreateInstance(Type)
  • 原文地址:https://www.cnblogs.com/lexus/p/2590522.html
Copyright © 2011-2022 走看看