1. C++ 11之途 - 起航

        首先,感谢邓总告诉了我C++ 11的存在。一直以来,从来没有关心过C++的标准,以为C++一直以来没有变化;一直以来,从来没有关注过时代的变迁,以为大家口中技术的进步与我毫无关系;一直以来,潜心于各种技术的学习,从来没有看过最新的资料。猛然间,觉得自己走的路有点偏离主线了,原来时代已经发生了翻天覆地的变化。还好C++ 11刚颁布两年,GCC和CLANG也全部支持新特性不久,一切还是来得及的。

        起航第一步,必然要有“船”,指望微软的VS必然不太现实,目前最新的VS2013好像也不是完全支持C++ 11的标准。那就只有靠我们的老朋友GCC以及新朋友CLANG了。

一. Windows下GCC环境搭建

        1. IDE软件 - Code::Blocks

        下载地址:http://sourceforge.net/projects/codeblocks/

        一路Next,安装完毕,并运行,第一次运行会弹出以下对话框,进行各种编译器的设置,可以先无视,直接点OK。

        OK后就进入主界面了,贴个图:

 

       2. 安装编译器 - MinGW/CYGWIN

        由于CYGWIN比较大,安装时间比较长,所以这里选择使用了MinGW,有兴趣的可以安装一下别的。

        下载地址:http://sourceforge.net/projects/mingw/

        下载后,执行安装文件,出现以下界面:

        左边树上选择Basic即可,右边懒人模式,将所有的右键标记为安装,最后菜单栏->Istallation->Apply Changes,接下来就等待下载安装了。

        安装完毕,测试一下,命令行进入bin目录,然后看一下G++的版本。

 

        3. 设置编译器

        再次回到Code::Blocks中,菜单栏 -> Settings -> Compiler。弹出编译器设置的对话框如下:

        分别设置

        1> Complier -> GNU GCC Compiler

        2> Complier settings -> Compiler Flags -> Have g++ follow the C++11 ISO C++ language standard [-std=c++11]

        3> Toolchain executables -> Compiler's installation directory -> MinGW安装路径

        4> Toolchain executables -> Program Files -> 对应的文件分别选择

        5> 如果没有设置为Default,则点击Set as default

 

        4. 进行测试

       基本设置已经完成,接下来就来测试一下成果吧。没有什么比新建工程,写一段代码进行测试更有效了。

/**
* @file
* @brief    C++ 11 Test
* @author   FengMaNiu
* @date     2013/12/22
*/
#include <iostream>

using namespace std;

/**
* @class    TestA
* @brief    Test Construct and override/final.
*/
class TestA
{
public:
    TestA(int pA, int pB, int pC) {
        cout
            << "Construct: " << endl
            << "A: " << pA << endl
            << "B: " << pB << endl
            << "C: " << pC << endl;
    }
    virtual ~TestA() {}
    virtual void FuncA() = 0;
    virtual void FuncB() = 0;

};

/**
* @class    TestB
* @brief    Test Construct and override/final.
*/
class TestB
    : public TestA
{
public:
    TestB(int pA, int pB, int pC)
        : TestA(pA, pB, pC) {}

    void FuncA() final {
        cout << "TestB FuncA" << endl;
    }

    void FuncB() override {
        cout << "TestB FuncB" << endl;
    }
};

/**
* @class    TestC
* @brief    Test Construct and override/final.
*/
class TestC
    : public TestB
{
 public:
    TestC(int pA, int pB, int pC)
        : TestB(pA, pB, pC) {}

    /**
    * @brief    Unable.
    */
    //void FuncA() {
    //    cout << "TestC FuncA" << endl;
    //}

    /**
    * @brief    Unable.
    */
    //void FuncB(int pInt) override {
    //    cout << "TestC FuncB" << endl;
    //}
};

int main()
{
    TestA *test = new TestC{1, 2, 3};
    delete test;
    return 0;
}


编译,执行,弹出黑框,一切OK,哈哈~~~

 

二. Windows下CLANG环境搭建

        这个本地还没进行实践,后期再来补吧,嘿嘿嘿~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值