运行C++11代码
来源:互联网 发布:佐菲奥特曼act通贬淘宝 编辑:程序博客网 时间:2024/06/07 02:16
看《Data structures and algorithms analysis in C++》(4ed.Mark Allen Weiss, Pearson)书籍,发现里面的代码为C++11格式。但是我的电脑上安装的是vs2010,从时间上面推算vs2010肯定不支持C++11,于是我就想着在我的win7电脑上安装一个轻量级的能支持C++11标准的编译器。
经过在网络上的一段探索,决定使用Cygwin下面的gcc编译器。在Cygwin安装的过程中,在选择安装包的时候一定要收到选择gcc编译器的安装,默认情况下不包含gcc包。注意在devel下面选择gcc core,gcc,gdb,make,等安装包,其他的依赖关联的安装包会自动安装成功。以下几个方面要知道:
- 安装成功Cygwin后要设置环境变量,将path下添加C:\cygwin\bin。这样你就能在window cmd下也可以编译c++程序。
- 你在Cygwin terminal 下可以编译C++程序;在设置好环境变量后也可直接在window cmd下面编译和运行C++程序。
- 编译和运行C++程序要将源程序放置在文件夹C:\cygwin\home\Administrator下面,同时在windows cmd下面将当前文件夹转到该文件夹下。
- gcc用于编译C语言程序,而g++则用于编译C++程序,也就是编译以cpp为后缀名的程序,这一点要清楚,不要出现用gcc编译c程序的错误。
- g++编译cpp程序时,默认情况下不支持C++11,你需要使用如下命令才能支持C++11标准的程序:
g++ -std=c++11 ex2.cpp -o ex2
- gcc会在当前文件夹下,编译成功后产生ex2.exe可执行程序。在windows cmd下面,在当前文件夹下直接输入ex2即可执行该程序;而在Cygwin下,则需要安装linux风格的执行方式,即./ex2.exe。
我利用editplus编写了类模板的程序,使用C++11风格的代码,如下:
#include <iostream>#include <string>using namespace std;/** * A class for simulating a memory cell. */ template <typename Object> class MemoryCell { public: explicit MemoryCell(const Object & initialValue = Object{}) : storedValue{initialValue} {} const Object & read() const {return storedValue;} void write(const Object & x) {storedValue = x;} private: Object storedValue; }; int main() { MemoryCell<int> m1; MemoryCell<string> m2{"hello"}; m1.write(37); m2.write(m2.read() + "world"); cout << m1.read() << endl << m2.read() << endl; }
上述文件名为ex2.cpp,经编译成功后顺序产生ex2.exe,执行该程序,产生了正确的结果:
- c语言测试代码运行时间
- C语言期末考试代码(可运行)
- Matlab产生独立可运行C代码
- 如何测量C#代码的运行时间
- Objective-C 计算代码运行时间
- Objective-C 计算代码运行时间
- 如何提高c代码运行效率
- Objective-C 计算代码运行时间
- 【C++】高精度代码运行时间( QueryPerformanceCounter )
- 如何测量C#代码的运行时间
- mac 如何运行c语言代码
- c++\MFC测试代码的运行时间
- C-COT目标跟踪代码下载运行
- 运行C++11代码
- C语言第十八篇:怎样运行C语言代码?
- [原创]在C#.net中跟踪代码的运行过程
- C代码规范与运行时长分析模板
- C代码规范与运行时长分析模板
- 从user 登陆开始
- 这是我看过最好的对hibernate的二级缓存解析
- HDU4642:Fliping game
- Android——Fragment介绍
- 关于java中<T>问题
- 运行C++11代码
- 程序员7大软技能测验
- html5大文件上传技术
- MyEclipse 10的安装与破解说明
- 字典转模型的时候,如果字典键值对比模型属性多,解决方法
- Jquery ajaxsubmit 异步上传图片 无刷新
- bjjava初学2015-7-14
- appcompat_v7 引起的新建Android工程编译不过的问题
- OI知识点总结