Linux中的yum和gcc/g++

Linux中的yum和gcc/g++在 Linux 中 我们也要进行工具 指令 程序 安装 检查 卸载等等 需要使用到 yum

大家好,欢迎来到IT知识分享网。

一、快速认识yum(简单介绍)

在Linux中,我们也要进行工具/指令/程序、安装、检查、卸载等等,需要使用到yum

在Linux中安装软件的方式:

  1. 源代码安装——交叉编译的工作
  2. rpm包直接安装
  3. yum/apt-get

yum:yum是我们Linux预装的一个指令,用来搜索、下载、安装对应的软件

就比如,手机上应用商店——也是一个app,并且是厂商内置的。

总而言之,yum相当于Linux的应用商店!

二、快速的使用yum(三板斧)

  1. yum list | grep command
  2. yum install [-y] command(这里的-y可加可不加)
  3. yum remove command   

注意后面的两条语句需要root权限操作,或者加上sudo.


三、Linux编辑器-vim的使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且
还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

1、vim的基本概念

我们目前只需要掌握vim的三种模式,分别是命令模式、插入模式和底行模式。

  • 命令/正常/普通模式 :控制屏幕光标的移动,字符‘字或行的删除。(vim打开的时候,默认的模式)
  • 插入模式:只有在插入模式下,才可以做文字输入,该模式是我们后面用的最频繁的编辑模式
  • 底行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

Linux中的yum和gcc/g++

想要回到命令模式,无脑Esc即可。

命令模式转到插入模式输入 o / i / a

命令模式转到底行模式输入 shift+; 也就是:

2、讨论常见模式——命令、底行

命令模式:

Linux中的yum和gcc/g++底行模式:

!command :在不退出vim的前提下,执行操作

vs filename :文件替换,光标在哪一个界面,我们就正在编辑哪一个界面,底行也是一样。

CTRL + ww : 光标多终端切换

shift zz = ZZ : 保存并退出vim

批量化注释:

  1. ctrl v
  2. hjkl区域选择
  3. shift + i  = I
  4. //
  5. Esc

批量化去注释

  1. CTRL v
  2. hjkl 区域选择
  3. d

Linux编译器-gcc/g++使用

C语言建议使用gcc,当然也可以使用g++;但是C++语言只能使用g++编译器编译

一、程序的翻译过程

1、预处理(进行宏替换)

所谓的头文件展开,本质是在预处理的时候,将头文件内容拷贝至源文件

实例: gcc –E hello.c –o hello.i

2、编译(生成汇编)

扩展:条件编译

用途1:动态裁剪

Linux中的yum和gcc/g++

我们可以通过给编译器传递不同的宏值,来进行对代码的动态裁剪。

比如一个程序有两个版本,商业版和普通版,这两者的区别就是商业版有更多的功能。这时候需要我们用两份代码去调试吗?

如果用两份代码,费力费时间。

而我们采用传递不同的宏值去进行代码的动态裁剪即可用一份代码!

用途2:防止头文件被重复包含

Linux中的yum和gcc/g++

也是通过条件编译去检查头文件是否重复包含,如果没有包含头文件,就执行下面的代码,如果已经包含头文件,下面的代码不去执行。

3、汇编(生成机器可识别代码)

4、链接

函数库:

问题:

我们的C程序中,并没有定义“printf”的函数实现,且在预编译中包含的“stdio.h”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢?

动静态库的比较:

动态库:(动态链接)

优点:比较节省资源,不会出现太多的重复代码

缺点:对库的依赖性比较强,一旦库丢失,所有使用这个库的程序都无法运行

静态库:(静态链接)

优点:不依赖库,同类型平台中都可以直接运行使用。

缺点:可执行程序体积比较大,比较浪费资源(资源磁盘、内存、网络等资源)

TIP:

Linux中的yum和gcc/g++

当gcc编译时,系统自动会用动态链接!


扩展:语言和编译器的自举的过程

问:先有的语言,还是先有的编译器?

答案是先有的语言。

比如先创造了C语言,然后我们用低级语言(汇编代码)写一个能编译C语言的编译器,这样我们就可以写软件了,接着用这个编译器去写一个用C语言写的编译器即可。

上述过程就是语言和编译器的自举过程。

二、gcc选项

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/133679.html

(0)
上一篇 2025-07-20 20:10
下一篇 2025-07-20 20:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信