我本地的环境是centos7,内置的gcc版本是4.8.5的,如果需要更新gcc
首先安装Software Collections(SCL),这是一个CentOS/RHEL Linux平台的软件多版本共存解决方案
yum -y install centos-release-scl
安装完成后安装所需的gcc版本,这里以8进行演示
yum install devtoolset-8-gcc*
gcc.8安装完成后,进行启用
scl enable devtoolset-8 bash
完成后查看是否成功
gcc -v
这个设置成功之后重启就没了,但是在这里我们也可以看到对应的路径,如果需要进行版本切换
,直接进到/opt/rh下找到对应的版本,cd进去之后source ./enable就可以了
紧接着就反手直接一个
yum -y install cmake
等我后续学学再补充
补充:还是图形化界面方便,所以我wget了一个vscode的rpm文件然后yum安装了
如果要以root用户启动vscode
vim ~/.bashrc下添加
alias code='sudo code --user-data-dir="/!:1"'
alias格式: alias name text
在text中要得到用户传递的参数可以使用以下方式
/!:1 表示第1个参数
/!:2* 表示第2个及余下的所有参数
/!* 表示所有参数
gcc和g++的区别:
1. 对于 *.c和*.cpp文件,gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的)
2. 对于 *.c和*.cpp文件,g++则统一当做cpp文件编译
3. 使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL
4. gcc在编译C文件时,可使用的预定义宏是比较少的
5. gcc在编译cpp文件时/g++在编译c文件和cpp文件时(这时候gcc和g++调用的都是cpp文件的编译器),会加入一些额外的宏。
6.在用gcc编译c++文件时,为了能够使用STL,需要加参数 –lstdc++ ,但这并不代表 gcc –lstdc++ 和 g++等价,它们的区别不仅仅是这个。