一.情况说明
写这篇博客的情况比较复杂,首先我本来是参加新星计划按照规划现在去学习shell脚本语言的,但是博主现在由于其他原因需要了解makefile,makefile是Linux系统下的一种工具,makefile的一些背景要涉及链接库的知识,而链接库刚好在之前我简单的介绍过一些,只不过那个时候是在Windows下进行的,现在要学会在Linux下进行操作它,要操作它你就又不得不进行C语言编程,但是如果不了解Linux下的C语言编程,还是有一些麻烦,所以今天在这里从零开始详细介绍Linux中C语言环境的配置,以及C语言程序的运行过程。
今天这篇的博客和链接库的关系不大,但是这篇是开始,到后面Linux下的链接库以及makefile了解都有一定的作用,这里大家可以去阅读一下。Windows下实现链接库
二.Linux下实现C语言过程
- 安装C语言编译器
在Linux系统上,您需要安装C语言编译器才能编译C语言程序。常见的编译器有GCC(GNU Compiler Collection)和Clang。
- 编写C语言代码
使用任何文本编辑器(例如Vim、Emacs或Nano)创建一个新的源文件,并将其保存为(或其他名称)。
- 编译源代码
在终端中,使用命令来编译源代码,产生可执行文件
- 运行可执行文件
三.GCC编译器
1.了解GCC
GCC是GNU Compiler Collection(GNU编译器集合)的缩写,它是一个由自由软件基金会开发的编译器系统。GCC可以编译多种编程语言,包括C、C++、Objective-C、Fortran、Ada和其他一些语言。GCC被广泛应用于开源软件开发、嵌入式系统和高性能计算等领域。
GCC不仅是一个编译器,还提供了一组与编译器相关的工具和库,例如调试器、汇编器、链接器和运行时库等。GCC的一个重要特点是跨平台支持,它可以在多种操作系统上编译目标代码,包括Linux、Windows、macOS等。GCC使用GPL许可证,因此是免费软件,并且可以进行修改和重新分发。
2.Linux中的GCC
许多Linux的发行版(如Centos,Ubuntu等)都默认安装了GCC,但实际上Linux自带的GCC编译器版本太低了,推荐大家使用命令
gcc --version
正在上传…重新上传取消
查看自己虚拟机的GCC版本,如果你的版本太低,这边也建议更新哦。同时也有的Linux发行版没有自带GCC编译器,刚好我们一起安装。
3.安装前提
GCC对GMP、MPFR、MPC有依赖,因此先需要安装相对应的库。
四.GCC安装过程
一步安装到位:
yum -y install gcc
使用上述命令即可一步安装到位,但是它安装的默认是对应的Linux发行版默认的版本,不是最新版。
最新版的教程如下:
- 1.安装依赖
yum -y install wget bzip2 gcc-c++
- 2.安装目录
mkdir /opt/gcc && cd /opt/gcc
- 3.安装包下载
wget http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
注意:http://ftp.gnu.org/gnu/gcc获取最新版下载链接并替换
- 4.安装包解压
tar -zxvf gcc-12.2.0.tar.gz && rm -rf gcc-12.2.0.tar.gz
- 5.安装配置
cd /opt/gcc/gcc-12.2.0
./contrib/download_prerequisites
./configure --prefix=/opt/gcc/gcc-12.2.0 -disable-multilib
- 6.编译安装
make -j16 && make install
注意:安装时间非常久,建议临时增加核心数量,-j16表示16个编译命令同时执行
- 7.环境变量
echo "export GCC_HOME=/opt/gcc/gcc-12.2.0" >> /etc/profile
echo "export PATH=\$GCC_HOME/bin:\$PATH" >> /etc/profile
source /etc/profile
- 8.卸载旧版本
yum -y remove gcc
- 9.查看新版本
gcc -v
- 10.更新动态库
查看旧动态库:strings /usr/lib64/libstdc++.so.6 | grep CXXABI
删除旧动态库:rm -f /usr/lib64/libstdc++.so.6
新动态库位置:/opt/gcc/gcc-12.2.0/lib64/libstdc++.so.6.X.XX
链接新动态库:ln -s /opt/gcc/gcc-12.2.0/lib64/libstdc++.so.6.0.30 /usr/lib64/libstdc++.so.6
查看新动态库:strings /usr/lib64/libstdc++.so.6 | grep CXXABI
此最新版教程来源于:GCC最新版安装
五.实现C语言程序
- 1.建立一个.c文件
vim hello.c
- 2.vim编辑器编辑
在文本输入你要编写的C语言程序内容,保存后退出
- 3.编译源程序
gcc hello.c -o hello
- 4.运行该可执行文件
./hello
- 5.输出结果
六.补充
文章中的命令如果你有什么地方不懂,可以查看同系列Linux专栏的其他三篇文章,那是我最近参加新星计划系统学习的,详细介绍了Linux常用的命令和运维基础。
Linux运维基础1
Linux运维基础2
Linux运维基础3
这次的文章是我之前零散的接触Linux时做的笔记,现在进行导入而已,有些基础。但是后面我要介绍Linux下的链接库和makefile就必须知道C语言在Linux下运行过程,核心是过程,操作很简单。