Linux 底子情况的开发工具以及使用(上)

饭宝  金牌会员 | 2024-12-11 00:02:37 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 840|帖子 840|积分 2520



目录

1. yuminux 软件包管理器
1)确保体系安装 yum 这个工具
 2)使用yum 举行干系软件的下载
​编辑
3)卸载使用yum 下载的干系软件
2.vim 编辑器的使用以及配置
 1)vim 的安装
2) vim 的三种模式
3)vim 下干系指令的使用
4)对vim 举行干系的配置
3.gcc / g++ 编译器的使用
1)确保已经安装 gcc / g++ 编译器
2)文件编译的全过程
3) 头文件的简朴先容
4)库文件的简朴先容
5)动,静库的对比


1. yuminux 软件包管理器

在Windows操作体系上,大多数都是以图形化界面的方式举行的,一般都是在官网大概对应的应用
市肆举行下载,偶然候对一个指定软件的下载,还涉及到多个依赖项,需要我们用户本身手动下载
安装对应的依赖项
对于Linux 操作体系就不一样了,都是以命令行的方式举行的(固然也是支持图形化界面),当我
们下载一个软件的时候,需要找到对应的源步伐,经过编译,才气得到可实行步伐,但是这样比较
麻烦:应该软件的下载,可能涉及到很多个依赖项,当源代码很大的时候,举行编译是比较消耗时间。
这时候我们就需要用到软件包管理器(yum):通过包管理器我们可以直接举行对应软件的安装
(软件所需要的依赖项以及源代码都已经举行了编译)。此时也不需要我们用户本身去找对应 的
依赖项,使用yum 源,直接一步到位。
可以把软件包管理器明确成一个应用市肆,把软件包明确成一个个APP,使用yum 举行指定软件
的下载就比如使用手机举行软件下载一样。
    •yum 的工作原理


  • yum服务器
    所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum服务器只要提供简朴的下载就可以了,ftp大概httpd的情势都以。yum服务器有一个最紧张的环节就是整理出每个rpm包的基本信息,包罗rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单""就是描述每个rpm包的spec文件中信息。
  • yum client端
    client每次调用yum install大概search的时候,都会去分析/etc/yum.repos.d下面所有以.repo末端的配置文件(即yum源),这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum本身的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(条件是不存在rpm包的cache)
         yum扩展源:
        普通来讲,yum 可以明确成一个指定 的官方的网站,我们使用yum 下载的东西都是安全的,         当我们下载一些其他的东西时候,可能在yum 源上不存在大概存在一些告诫,此时在yum 扩            展源举行下载即可。
       下载 yum  扩展源的指令如下:


1)确保体系安装 yum 这个工具


 2)使用yum 举行干系软件的下载

 语法:
  1. (sudo) yum install 指定的软件
复制代码


 使用yum下载gcc
注意:对于非 root 用户是不具备下载的权限的,此时 sudo  表现对当前的非 root 用户举行权限提
升,使之具有下载软件的权限。(可能有的即使输入 sudo 也表现权限不支持,因为此时没有对非
root 用户举行配置)。
对于非 root 权限提拔的干系操作可以查看以下的博客:sudo 举行权限提拔
3)卸载使用yum 下载的干系软件

语法:
  1. sudo yum remove +卸载的软件名字
复制代码
 

此指令寄义:卸载安装的sl这个软件 
2.vim 编辑器的使用以及配置

 vim 是一种多模式的编辑器。
与vi的区别,简朴的说就是对vi的一个升级版本。
 1)vim 的安装

     yum install vim
  2) vim 的三种模式

命令模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,大概
到 末行模式。
   插入模式:  只有在插入  下,才可以做笔墨输入,按「  ESC  」键可回到命令行模式。该模式是我们后     面用的最频仍 的编辑模式。         末行模式:文件保存或退出,也可以举行文件更换,找字符串,列出行号等操作。        
    3)vim 下干系指令的使用

   3.1)  光标的移动:     
gg光标定位到文件内容的第一行的开始
G   光标定位到文件内容的末了一行开始
nG 定位光标到指定行的开始(n 是指定的一个数字 >= 1)
shift + ^ 光标移动到当前行的开始
shift + $   光标移动到当前行的竣事
w光标会以单词为基本单位,举行行内跨行的移动(向右移动)
b光标会以单词为基本单位,举行行内跨行的移动(向左移动)
  
     3.2)  文件内容的复制,粘贴,删除,剪切:   
n yy以光标地点行为基准,复制光标地点 n行 的内容 
np粘贴 n 行内容到光标地点行的下一行
ndd删除/ 剪切 n行的内容从光标地点的行开始
    3.3)  打消以及反打消   
u打消
ctrl +r 打消之前的打消
    3.4)  末行模式干系指令:   
w保存
q退出
wq 或 ZZ保存并退出
q! 或 ZQ不保存退出
set nu显示行号
set nonu隐藏行号
/搜索的文本搜索
  4)对vim 举行干系的配置

  对于vim 来说,他不是一个文本编辑器嘛,在日后不可避免的使用他举行干系代码的编写,但是对
  于没有经过配置过的vim 使用起来难免有点挫,比如语法高亮,代码缩进,语法提示,字体大小,
  以及字体颜色设置,内容的行号计划等等。
  可能对于“小白”来说,我都还不会使用vim ,就让我对vim 举行配置,这难免有点困难,别着急,
  咱可以举行干系插件的下载安装。
  切换到指定的一个用户(建议非root 用户):实行一下命令
  1. curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
复制代码
按着提示收支对应的root 暗码,即可安装成功。
  VimForCpp 的卸载:
  以安装有此插件的用户身份,实行以下的命令:
  1. bash ~/.VimForCpp/uninstall.sh
复制代码
对于新手来说,刚开始使用vim 难免有所困难,本身肯定要多多练习,熟能生巧哟~~~ 
3.gcc / g++ 编译器的使用

我们既然已经会使用vim 举行干系代码的编写,接下来就需要知道怎样对已经编写好的代码举行编
译,直至生产可实行的文件。
1)确保已经安装 gcc / g++ 编译器

  1. sudo yum install gcc / g++
复制代码
2)文件编译的全过程

2.1)预编译阶段:主要举行头文件的睁开,宏更换,去掉解释,条件编译等工作
对应的指令:
  1. gcc -E test.c -o test.i
复制代码
 此指令的解释:告诉编译器对test.c 这个文件 实行预编译的使命,把预编译之后天生的文件内容
存放在test.i这个文件里面。
对应的实行效果见下:

 2)编译阶段:举行语法分析、词法分析和语义分析,并且将代码优化后产生相应的汇编代码文件
 对应的指令:
  1. gcc -S test.i -o test.s
复制代码
 指令的解释:告诉编译器对test.i这个文件举行编译并把生产的内容放在test.s这个文件里面
3)汇编阶段:主要是把的汇编文件天生对应的目标文件
对应指令:
  1. gcc -c test.s -o test.o
复制代码
 指令解释:告诉编译器对汇编文件test.s 实行汇编天生对应的目标文件test.o
4)链接:主要是把目标文件与对应的库文件举行链接天生对应的可实行步伐(注意:模板文件并不
是一个可实行的文件)
对应的指令:
  1. gcc test.o -o test.exe
复制代码
指令的解释:对目标文件实行链接天生对应的可实行文件。 
4.1)链接分为动态链接和静态链接
动态链接与静态链接的区别:
动态链接是在程序实行的时候才举行链接,并且动态链接天生对应的
文件体积相比较于静态链接形成的文件体积小。
静态链接:是在形成可实行步伐之前举行链接,因为需要把对应的库文件内容拷贝到当前文件下。
 

4.2) 静态库的安装:


3) 头文件的简朴先容

首先思考以下的题目:
为什么我们可以在 Windows 大概Linux 上面举行开发呢???

 首先我们必选先安装对应的软件:VS2022,VScode,Pycharm 等等。
其次我们需要具备干系的头文件以及库文件。
在Linux 上面,对应的头文件默认是存放在 /usr/include 这个目录

4)库文件的简朴先容

在Linux 上面,库文件默认是存放在 / lib64这个目录下的
以下是截取的部分库文件

对于库文件又分为:静态的库文件和动态的库文件
Linux 上面的库文件在书写情势上的构成: lib(前缀)+ 库的名字 + 后缀
Linux库文件的扩展名(后缀)只有2种情势: .so(动态库)  .a(静态库)
Windows 库文件的扩展名: .dll(动态库)  .lib(静态库)

 库其实是把每个源文件举行编译,再打包封装形成一个大的库文件,以供用户的使用。
5)动,静库的对比

动态库:共享的,比较节流资源(磁盘空间,网络空间,内存空间);所占体积较小
静态库:比较消耗资源;不依赖库,可以独立运行。
编译器在举行链接的时候默认是优先举行动态链接的,当动态库不存在的时候,再举行静态链接
当我们指定链接就以静态链接的时候,若没有静态库,此时编译报错;静态库存在指向静态链接,
而且只举行一次静态链接。

对当前指令的深入熟悉:首先指定以静态链接的方式;同时也改变了链接的优先级,此时实行链接
的时候对所有的库文件都是以静态链接方式举行的。
查看步伐的链接方式:
  1. file 可执行程序的文件名
复制代码

结语:

 以上是对Linux 体系上用到的部分工具的简朴先容,感兴趣的友友们,可以举行深入的研究与讨
论。对于这部分的知识我们需要勤于练习

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表