c++11&14-编译

向量数据库大模型机器学习

picture.image

1. c++11&14怎么编译

学习c++11的时候,我的redhat虚拟机上的g++才是4.1.2版本,而g++4.7版本才开始支持c++11的,所以要使用c++11,首先需要将我们的g++编译器升级到4.7或者以上版本,这里我选择的是GCC的 7.1.0版本。

注意:大意义上来讲,GCC是一个编译器集合,拿到源代码后编译出来各种编译器,如果我们选择编译c,c++的编译器,就会生成gcc和g++。这里的gcc是专门正对于c代码的编译器,g++则是专门针对于c++代码的编译器,gcc和g++最显著的区别是g++会调用-lstdc++库,gcc不会。

1.1 g++升级

1.1.1 下载gcc

 1. `wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-7.1.0.tar.bz2`
2. `tar -jxvf gcc-7.1.0.tar.bz2`

1.1.2 下载编译gcc时需使用的依赖项

 1. `cd gcc-7.1.0`
2. `./contrib/download_prerequisites //这个脚本会自动下载依赖项,但耗时很长,先去吃饭了`

1.1.3 生成makefile文件及编译安装

建立一个单独的目录用于存放编译生成文件


 1. `mkdir gcc-build-7.1.0`
2. `cd gcc-build-7.1.0`
3. `../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib`
4. `make -j4`
5. `make install`

此时使用g++ --version,就可以看到版本已经是7.1.0了。

1.2 c++11编译

一般的,我们要编译c++11,都要使用g++ -std=c++11,但据我测试,7.1.0的版本已经默认支持c++11和c++14了,所以就不用再写明-std=c++11的选项了,可以直接使用g++编译c++11或者c++14的代码啦,当然如果想知道某个特性到底是属于c++11还是c++14,就可以使用-std=c++11和-std=c++14来辨别。

更多c++系列文章,请关注我的公众号:晟夏的叶。 picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生机器学习系统落地和实践
机器学习在字节跳动有着丰富业务场景:推广搜、CV/NLP/Speech 等。业务规模的不断增大对机器学习系统从用户体验、训练效率、编排调度、资源利用等方面也提出了新的挑战,而 Kubernetes 云原生理念的提出正是为了应对这些挑战。本次分享将主要介绍字节跳动机器学习系统云原生化的落地和实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论