安装C和C++编译器
yum -y install gcc*
查看CenterOS系统信息
cat /etc/system-release
CentOS Linux release 8.2.2004 (Core)
查看gcc版本
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
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt