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这些都是些浮云……但是这样的写法看似更专业,更有魅力,推荐大家这样写哈!

  • 相关阅读:
    155. 最小栈
    160. 相交链表
    PAT 1057 Stack
    PAT 1026 Table Tennis
    PAT 1017 Queueing at Bank
    PAT 1014 Waiting in Line
    PAT 1029 Median
    PAT 1016 Phone Bills
    PAT 1010 Radix
    PAT 1122 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/lexus/p/2590522.html
Copyright © 2011-2022 走看看