对于我们来说, 项目实际使用基于C++17的协程已经有段时间, stackless在没有compiler额外生成代码Buff的加持下, Stack变量的人肉处理, 花括号对代码的隔离, 还是会导致一些额外的工作量...既然GCC11.1已经发了, 我们之前的GCC8.3也在正常工作中, 升级成本比我们想象的低, 那新版到来, 又能解决项目的一些实际痛点, 升级的动力自然就比较足了....安装依赖库
新的GCC源码内置了依赖库的获取脚本, GCC所依赖的mpfr, gmp, mpc, isl都可以使用内置脚本直接获取, 比老版本简单非常多, 在GCC目录下, 执行:
..../contrib/download_prerequisites
此命名会自动下载GCC编译需要的几个依赖库.
3.配置和编译
前文也提到了, 我们需要同时保留老版本的GCC, 所以配置项里需要指定安装的目录...或者自行运行的时候, 需要正确指定一下GDB的版本, 检查GDB的版本:
image.png
更换GDB版本后我们尝试调试GCC11的程序, 已经正常了.