g++
跟gcc
之间是否有依赖关系g++
跟gcc
之间没有依赖关系,两者分别对应面向C++和C语言的编译程序,关于gcc
和g++
的区别,请参考知乎回答《gcc和g++是什么关系? ——gcc 和 g++ 的区别》
Ubuntu-20.04官方源中目前最高提供了 gcc-11的安装包;
Note
我们尝试在Ubuntu-20.04上执行命令安装 gcc-12:sudo apt install gcc-12 g++-12
不过报错:
E: 无法定位软件包 gcc-12
E: 无法定位软件包 g++-12
所以目前我们准备在 Ubuntu-20.04使用gcc-11。
cat /proc/version
示例结果:
Linux version 5.4.0-128-generic (buildd@lcy02-amd64-017) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #144-Ubuntu SMP Tue Sep 20 11:00:04 UTC 2022
这里可以看到当前系统默认使用的gcc版本是9.4.0。
查看gcc版本
ls /usr/bin/gcc*
查看g++版本
ls /usr/bin/g++*
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 30
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 30
gcc --version
g++ --version
Note
这里我们在终端查询版本时,没有使用简化命令gcc | g++ -v
,这是因为使用g++ -v
查询g++版本时,输出信息中会包含gcc的字样,看起来有些迷惑,并且输出信息较多显得有些复杂,为了查询结果的直观感受,这里我们统一使用gcc | g++ --version
。
cout << __VERSION__ << endl;
环境管理工具:MSYS2
编程IDE:VSCode
关于在Windows上基于VSCode配置C++编程环境,请参考《C/C++ for Visual Studio Code》
pacman -Suy
我们在开始学习使用VSCode编程时,遇到了这样的一个问题:
gdb
无法正常调试:我们在VSCode上使用PlantUML插件预览puml图形时,发现预览窗出现空白;
因为主机的Win系统上没有安装Java环境(java -version
无法正常输出版本号);