Linux centOS 编译C/C++

简介: Linux centOS 编译C/C++

安装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


相关文章
|
1月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
|
1月前
|
自然语言处理 编译器 Linux
|
2月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
405 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
107 1
Linux系统之Centos7安装cockpit图形管理界面
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
100 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
84 2
|
1月前
|
自然语言处理 编译器 Linux
告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
本文中,阿里云智能集团开发工程师李泽政以 Alinux 为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个 C++ 模块工程并使用模块封装第三方库或是改造现有的项目。
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
110 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
49 0
|
2月前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器