安装C和C++编译器
yum -y install gcc*
查看CenterOS系统信息
cat /etc/system-release CentOS Linux release 8.2.2004 (Core)
gcc --version gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
升级编译器
yum -y install centos-release-scl devtoolset-8-gcc*
启用软件包
echo "source/opt/rh/devtoolset-8/enable" >> /etc/profile
安装库函数帮助文档
yum -y install man-pages
帮助文档使用
man 命令或函数 man 级别 命令或函数
man级别:
1-用户命令 //常用 2-系统接口 3-库函数 //常用 4-特殊文件,比如设备文件 5-文件 6-游戏 7-系统的软件包 8-系统管理命令 9-内核
编译
gcc C语言 g++ C++语言 gcc/g++ 选项 源代码文件1 源代码文件2 选代码文件n -o //指定输出文件名,不能和源文件名相同,如果不给出则生成a.out -g //如果相对源代码进行调试,必须加入 -On //在编译、链接过程中进行优化处理,生成的可执行程序效率更高 -O0 //默认编译选项,不做任何变化 -O/-O1 //对程序做部分编译优化,对于大函数,优化编译占用稍多的时间和相当大的内存,使用本项优化,编译器会尝试减小生成代码尺寸,以及缩短执行时间,但并不执行需要占用大量编译时间的优化 -O2 //是比O1更高级的选项,进行更多的优化。与O1比较而言,O2优化增加了编译时间的基础上,提高了生成代码的执行效率 -O3 //比O2更进一步的优化 -c //只编译,不链接成为可执行文件,通常用于把文件编译成静态库或动态库
使用优化选项:1)编译时间更长 2)目标程序不可调试 3)有效果,但是不可能显著提升程序的性能
支持C++11
-std=c++11