软件管理与网络基础

 安装流程


提示:以下是本篇文章正文内容,下面案例可供参考

一、尝试基于gcc命令说明c语言编译过程

使用gcc编译c语言的时候会经历4个流程分别是:

1 预处理:命令格式:gcc -E hello.c -o hello.i。在预处理中,会对.c文件代码进行:去除注释、头文件包含、宏替换、条件编译,输出.i预处理文件。预处理参考资料:C语言预处理

2 编译:命令格式:gcc -S hello.i -o hello.s。通过词法语法分析,在确定所有指令符合语法规则的前提下,将预处理.i文件转化为汇编.s文件。

3 汇编:命令格式:gcc -c hello.s -o hello.o。将输入的汇编语言翻译成机器语言,将编译.s文件处理为.o机器指令。

4 链接:命令格式:gcc hello.s -o hello。将各个目标文件依赖整合的过程就是链接,链接整合后将.o机器语言生成二进制可执行文件或者.out文件。

#预处理
[root@Rocky8-7-2 C]# gcc -E hello.c -o hello.i
#编译
[root@Rocky8-7-2 C]# gcc -S hello.i -o hello.s
#汇编
[root@Rocky8-7-2 C]# gcc -c hello.s -o hello.o
#链接
[root@Rocky8-7-2 C]# gcc hello.o -o hello
[root@Rocky8-7-2 C]# ll
total 48
-rwxr-xr-x. 1 root root 18080 May  8 16:59 hello
-rwxr--r--. 1 root root    83 May  8 16:58 hello.c
-rw-r--r--. 1 root root 15615 May  8 16:58 hello.i
-rw-r--r--. 1 root root  1496 May  8 16:59 hello.o
-rw-r--r--. 1 root root   456 May  8 16:59 hello.s
[root@Rocky8-7-2 C]# chmod u+x *
[root@Rocky8-7-2 C]# ll
total 48
-rwxr-xr-x. 1 root root 18080 May  8 16:59 hello
-rwxr--r--. 1 root root    83 May  8 16:58 hello.c
-rwxr--r--. 1 root root 15615 May  8 16:58 hello.i
-rwxr--r--. 1 root root  1496 May  8 16:59 hello.o
-rwxr--r--. 1 root root   456 May  8 16:59 hello.s

[root@Rocky8-7-2 C]# ./hello
hello world!

二、总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何获取命令获取

        程序包管理器有rpm和dpkg,它们都无法在安装包时处理包内的依赖问题。其中:

        rpm是CentOS和Rocky Linux的包管理器,包的扩展名为rpm。

        dpkg是debian和Ubuntu的包管理器,包的扩展名为deb。

#查询至今安装过的所有包
[root@Rocky8-7-2 network-scripts]# rpm -qa 
perl-libs-5.26.3-421.el8.x86_64
blktrace-1.2.0-10.el8.x86_64
python3-pip-wheel-9.0.3-22.el8.rocky.0.noarch
perl-PathTools-3.74-1.el8.x86_64
trousers-lib-0.3.15-1.el8.x86_64
tracer-common-0.7.5-2.el8.noarch
perl-Test-Harness-3.42-1.el8.noarch
dosfstools-4.1-6.el8.x86_64
setup-2.12.2-7.el8.noarch
perl-Locale-Maketext-1.28-396.el8.noarch
words-3.0-28.el8.noarch
libselinux-2.9-6.el8.x86_64
perl-Module-Load-0.32-395.el8.noarch
python3-libselinux-2.9-6.el8.x86_64
adobe-mappings-cmap-20171205-3.el8.noarch
python3-gobject-base-3.28.3-2.el8.x86_64
gpg-pubkey-6d745a60-60287f36
#查询httpd包是否被安装
[root@Rocky8-7-2 network-scripts]# rpm -qa httpd
httpd-2.4.37-51.module+el8.7.0+1182+86a6cd60.5.x86_64
#查看httpd包的详情
[root@Rocky8-7-2 network-scripts]# rpm -qi httpd
Name        : httpd
Version     : 2.4.37
Release     : 51.module+el8.7.0+1182+86a6cd60.5
Architecture: x86_64
Install Date: Sat 06 May 2023 05:36:01 PM CST
Group       : System Environment/Daemons
Size        : 4500178
License     : ASL 2.0
Signature   : RSA/SHA256, Fri 07 Apr 2023 12:56:46 AM CST, Key ID 15af5dac6d745a60
Source RPM  : httpd-2.4.37-51.module+el8.7.0+1182+86a6cd60.5.src.rpm
Build Date  : Fri 07 Apr 2023 12:38:52 AM C
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值