Linux gcc 6

时间:2024-04-15 12:39:58

本章开始学习工具

什么是工具?

本质也是指令

yum 命令

小火车

sudo yum install sl(安装sl)

sudo yum install -y sl  //直接yes就不提示了

yum list  //将yum源上的软件都穷举出来

yum search sl //结果不友好,不推荐

yum list | grep sl //将于sl匹配的才列举出来

yum list | grep | more

yum remove sl //交互卸载

yum remove -y sl //直接卸载

rz命令

sz命令

就实现了windows和Linux互传文件了

也可以实现Windows拖拽到Linux上传但是要安装lrzsz这个软件

第一步 先yum list | grep Irzsz  查看一下这个软件

第二步 sudo yum -y lrzsz

yum install epel-release     //扩展非官方软件  如sl小火车

yum的扩展

好像只告诉了yum我要安装什么!并没有直接告诉yum要安装的软件,在哪里下载?

yum要知道实际要到哪里去找

所以我们需要知道一个叫yum源的配置文件

/etc/yum.repos.d/下的

CentOS-Base.repo//基础yum源,里面包含了大量了下载连接

打开

l修改yum源为国内镜像_yum修改镜像源-****博客

了解下

服务器的配置好了

 

(记得要备份)

能在Centos-base.repo搜索出来的都是官方软件

yum install -y epel-relsease   //拓展非官方的

vim编辑器的学习

基本模式的基本理解

命令模式的意义:

提高效率

光标定位法

shift+6(^) =行的首位

shift+4(¥)=行的末尾

shift+g=文本最结尾

gg

n + shift +g = 跳转到指定的第n行

光标移动:

h:左

j:下    (jump悬崖跳下)

k:上     (king->皇上高高向上)

l:右

为什么会有这四个键呢?

老式键盘

vim命令下如何复制

在复制行按下yy(完成复制)【nyy多行复制】

p是粘贴【n(数字)p是粘贴n次(多行粘贴)】

u:撤销

dd:删除光标所在行(支持ndd从光标到第n行)

ndd + p:剪切

文本编辑:

大写小写切换:shift+ ~

shift +r=R:批量化替换

r:替换光标所在的一个字符,支持nr

nr:

行内删除:

shift+x=X:行内前删

x行内后删

支持nx or nX

也可以支持p回来

出现这个:

直接退出

:wq!

补充:

w:向后按照单词移动   b:向前按照单词移动

cw:将光标中的单词删除并进入insert模式

c#w:将光标中的#个单词删除并进入insert模式

u:撤销

ctrl+r:撤销一个u操作

命令模式进入插入模式

命令-》插入

i/a/o......................

 底行模式

:set nu(调出行号)

:set nonu(取消行号)

:w(写入)q(退出) !(强制退出)  实在不行只能:!说明不是你的文件

:vs [文件名]   //分屏 

在命令模式下

可以在底行模式下执行shell命令

:![命令] 

 //:!ls     :!man  在vim下查看编译执行  :!gcc  :!./a.out

底行中的替换操作

:%s/###/***/g                    (将###替换成***)

了解vim配置

1、vim的配置,是一人一份的,一个用户的配置是自己的

2、每一个人虽然用的是同一个vim程序,但是,大家用的是不同的vim配置(每一个用户,在自己家目录下,都有一个属于自己的配置文件vimrc)

3、所谓的vim基本配置,就是修改自己的.vimrc(不要动任何不属于你的配置文件)

4、我怎么知道要配置什么呢?(自己去搜索)

所以要自己创建touch .vimrc

vim test.c 就有行号了

修改vim配置

简单了解就好

打开gitee

Gitee 搜索

搜索vimforcpp

进入下拉有vim配置的安装直接配置好的

下拉自己看

支持环境

目前只支持 Centos7 x86_64. 后面会考虑 Ubuntu 等发行版的支持.

安装方法

在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 "不推荐" 直接在 root 下执行):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

需要按照提示输入 root 密码. 您的 root 密码不会被上传, 请放心输入.

如果出现curl: command not found就是curl没有安装

curl: command not found解决方法-腾讯云开发者社区-腾讯云 (tencent.com)

centos7:sudo yum install -y curl

接下来就可以安装了

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

配置完成

改一下安装好后改下缩进 (可以自己改一下vimrc文件)

---------------------------------------------------------------------------------------------------------------------------------

gcc/g++

1、复习一下程序的翻译过程

预处理(头文件展开、去注释、宏替换、条件编译)

、编译

、汇编

、连接

预处理

gcc -E test.c -o test.i    

预处理将头文件需要的都导入到源程序中,可以说预处理后不需要头文件了

预处理会将头文件拷入源文件

在调用头文件时,系统必须要有库,才可以调用

宏的命令行定义

预处理后还是c语言是一份干净的c语言

编译

所以接下来就是要编译:把c翻译汇编语言

gcc -S test.c -o test.s  //现在开始,进行程序的翻译,做完汇编之后停下

汇编

汇编语言可以被计算机直接执行吗? 

不可以,汇编语言是有了助记符不是二进制目标

gcc -c test.s -o test.o    //将汇编语言转化为二进制定向目标文件

Linux od命令教程:如何以各种格式转储文件(附案例详解和注意事项)_od linux-****博客

二进制目标文件不能被执行

链接

把你写的代码和c标准库中的代码合起来-------链接的过程

gcc test.o

总结:

不好记

程序翻译的过程键盘的左上角:ESc()

文件后缀   lso(镜像的后缀)