C++11的新特性在linux下终端中的编译运行
2014-11-27 20:11
627 查看
这几天向同学借了本,C++Primer(第五版),开始学习一下C++
可是在里面增加了一点新的内容C++11的新特性感到很新奇,于是就随便写个代码尝试一下
可是怎么编译就是不通过(使用的fedora 8编译环境)
后来查看资料发现原来是自己的编译器版本太低:
注:GCC4.8.1已完全支持C++11,Clang 3.3 也完全支持了C++11。
最新版本的Linux 发行版(RHEL 7,CentOS 7,Ubuntu 14.06,都自带了完全支持C++11的编译器。
后来又换一个高版本的gcc编译器(fedora 20 gcc 版本 4.8.2 20131017 (Red Hat 4.8.2-1) (GCC) )
而且还要在gcc 编译后面加上选项:-std=c++11或-std=gnu++11
写的不怎么样,希望对大家有帮助
可是在里面增加了一点新的内容C++11的新特性感到很新奇,于是就随便写个代码尝试一下
可是怎么编译就是不通过(使用的fedora 8编译环境)
#include <iostream> #include <regex> using namespace std; int main() { int a = 9; int *p = nullptr; p = &a; cout << "*p = " << endl; return 0; }
[root@localhost ~]# gcc 4.cpp -o k 4.cpp:2:17: 错误:regex:没有那个文件或目录 4.cpp: In function ‘int main()’: 4.cpp:8: 错误:‘nullptr’ 在此作用域中尚未声明 [root@localhost ~]#
后来查看资料发现原来是自己的编译器版本太低:
注:GCC4.8.1已完全支持C++11,Clang 3.3 也完全支持了C++11。
最新版本的Linux 发行版(RHEL 7,CentOS 7,Ubuntu 14.06,都自带了完全支持C++11的编译器。
后来又换一个高版本的gcc编译器(fedora 20 gcc 版本 4.8.2 20131017 (Red Hat 4.8.2-1) (GCC) )
而且还要在gcc 编译后面加上选项:-std=c++11或-std=gnu++11
[root@localhost ~]# g++ 1.cpp -o k -std=c++11 [root@localhost ~]# ./k *p = 9 [root@localhost ~]#
写的不怎么样,希望对大家有帮助
相关文章推荐
- Linux下无法编译含C++11新特性的程序
- 从Linux终端编译运行Eclipse Java项目
- 在Linux(Ubuntu)中使用终端编译并运行.c和.cpp文件
- 从 Linux 终端编译运行 Eclipse Java 项目
- 在linux 上编译生成windows上运行的exe程序,交叉编译环境的配置( 平台:gentoo linux)
- 【转载】linux里命令pkg-config工具的使用(编译和连接, 运行时)
- 在ubuntu7.10用终端编译运行c++程序
- 在ubuntu 下用 bochs安装编译linux 0.11 并运行
- Unix/Linux下退出帐户/关闭终端之后继续运行相应的进程
- linux 程序在高版本编译后到低版本运行报错:Floating point exception ,解决方法。
- linux更改code::blocks的运行终端
- Linux下.so的编写,编译和运行
- 如何解决linux下编译环境,运行环境不同的问题
- linux版本间交叉编译运行
- FreeMicaps--可以在Linux编译了运行了
- linux下编译运行的第一个C
- [zz] cupcake编译linuxsdk在windows上运行的方法
- 如何解决linux下编译环境,运行环境不同的问题
- Linux 编译运行 C/C++程序
- Linux平台下编译运行wxWidgets简单窗口程序