• VC2005 C++入门记


    _tmain、main 、wmain and wWinmain 区别

    main()WINDOWS的控制台程序(32BIT)或DOS程序(16BIT,    

    WinMain()WINDOWSGUI程序,    

    wmain()UNICODE版本的main(),  

     _tmain()是个宏,如果是UNICODE则他是wmain()否则他是main()

    1、  mainC程序的函数,_tmainmain为了支持unicode所使用的main的別名

    2、  _tmain的定义在<tchar.h>可以找到,#define _tmain main,所以要加#i nclude <tchar.h>才能用。

    3、  因此_tmain compile后仍为main,所以都可以执行

    另外,wmain也是main的另一個别名,是为了支持二个字节的语言环境
    int main( int argc[ , char *argv[ ] [, char *envp[ ] ] ] );
    wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
    int _tmain(int argc, _TCHAR* argv[])

     

     

     

    1)      win32控制台应用程序

    文件〉新建〉项目à Visual C++——〉win32——〉win32控制台应用程序〉控制台应用程序〉预编译头〉完成〉新建win32.cpp.

    <1>//Basic IOProgram

    // winconsole.cpp : 定义控制台应用程序的入口点。

    #include "stdafx.h"

    #include <iostream>

    using std::cin;

    using std::cout;

     

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

    {

        cout<<"Hello World./n";

        getchar();

        return 0;

    }

    F7编译,F5运行。

    <2> //托换代码和非托管代码混合编程

    // managed.cpp : 定义控制台应用程序的入口点。

    #include "stdafx.h"

    #using <mscorlib.dll> // 为了使用Console::WriteLine方法

    #include <stdio.h> // 为了使用printf

    using namespace System;

    // 声明非托管代码

    #pragma unmanaged

    void print(char *msg)

    {

        printf("%s/n", msg);

    }

    // 切换回托换代码

    #pragma managed

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

    {

        // 调用托管的方法输出到控制台

        Console::WriteLine(L"Hello world from managed method");

        // 使用标准输出

        print("hello world from unmanaged method");

        getchar();

        return 0;

    }

    注意: 项目属性〉配置属性〉常规〉公共语言运行库支持〉公共语言运行库支持(/clr

     

  • 相关阅读:
    javaTemplates-学习笔记三
    索引
    WTForms
    session权限限制
    vue-cli脚手架项目中组件的使用
    vue补充
    表单输入绑定
    vue指令系统介绍
    vue-cli脚手架安装和webpack-simple模板项目生成
    rest-framework之视图
  • 原文地址:https://www.cnblogs.com/wenrenhua08/p/3993615.html
Copyright © 2020-2023  润新知