Linux gcc 6

本章开始学习工具

什么是工具?

本质也是指令

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修改镜像源-CSDN博客

了解下

服务器的配置好了

 

(记得要备份)

能在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-CSDN博客

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

链接

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

gcc test.o

总结:

不好记

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

活动报名 | 如何进行全增量一体的异构数据库实时同步

伴随着新技术的不断涌现,市场竞争也在不断开辟新的角斗场——新的业务需求,新的应用设想都在这里迸发。 面对如此日新月异的竞争环境,企业的当务之急,是为新应用扎根准备好随时可取、准确一致的高质量数据土壤。在这样的背景下&a…

(二十八)Flask之wtforms库【上手使用篇】

目录: 每篇前言:用户登录验证:用户注册验证:使用示例: 抽象解读使用wtforms编写的类:简单谈一嘴:开始抽象: 每篇前言: 🏆🏆作者介绍:【…

Docker 磁盘占用过多问题处理过程记录

一、问题描述 突然发现服务器磁盘使用超过95%了(截图时2.1 和 2.2 已经执行过了) 二、问题分析与解决 2.1,docker 无用镜像占用磁盘 # 使用 docker images 查看服务的镜像 docker images# 可以手动删除一些很大不用的 docker rmi ***## 也…

一秒内传输50万对纠缠光子?!纽约市量子网络刷新纪录

量子网络技术行业的领军企业Qunnect宣布,在纽约市的GothamQ网络上,其偏振量子比特的传输性能刷新了纪录。Qunnect利用现有的商用光缆实现了每秒传输50万对高保真度纠缠光子的速率,且该网络的正常运行时间超过了99%。 纽约34公里长的GothamQ量…

服务器数据恢复—RAID5故障导致SAP+oracle数据丢失的数据恢复案例

服务器存储数据恢复环境: 某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。 服务器存储故障&分析: 该RAID5阵列中一块硬盘出现故障离线&#xff0…

开启Three.js之旅(会持续完善)

文章目录 Three.js必备构建项目场景Scene相机CameraPerspectiveCamera 渲染器WebGLRendererCSS3DRenderer 灯光LightAmbientLightDirectionalLight 平行光PointLight 加载器CacheFileLoaderLoaderGLTFLoaderRGBELoaderTextureLoader 材质MetarialMeshBasicMaterialMeshLambertM…

k8s集群资源编排清单文件解读

1、YAML 文件概述 k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源…

原子的内部结构

原子非常神奇,花时间思考它是非常有价值的。尽管传统的太阳系示意图存在致命的缺点,但我们还是可以局部应用于原子。 首先,原子与太阳系具有相似性一原子的中心质量大,外部质量小。我们用最简单的氢原子做分析,氢原子…

辽宁梵宁教育课程概览:打造职场新人的设计技能利器

随着数字化时代的快速发展,设计技能在职场中的重要性日益凸显。对于职场新人而言,掌握优秀的设计能力不仅有助于个人职业发展,更能为企业创造更多价值。辽宁梵宁教育,作为一所致力于培养职场新人设计技能的培训机构,以…

决策树分类器(保姆级教学) 定义+特性+原理及公式+鸢尾花分类经典问题示例(完整Python代码带详细注释、保姆级分部代码解释及结果说明、决策树可视化及解释)

文章目录 引言定义特性基本原理和公式理解信息增益(ID3算法)熵的定义条件熵信息增益的计算 基尼不纯度(CART算法)基尼不纯度的定义基尼不纯度的计算例子 实现步骤解决鸢尾花分类问题(机器学习入门中的经典案例Python代…

makefile第七讲

更多精彩内容在公众号。 当make执行完后,我们期望将最终的可执行文件安装到系统目录下,这样在不同的目录下都可以执行编译的可执行文件,相当于做成了个命令。这个就需要用到make install。 源文件如下:用于判断系统是小端还是大端…

性能分析与调优

性能分析方法 自底向上:通过监控硬件及操作系统性能指标(cpu、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序问题) 先检查,再下药 自顶向下:通过生成负载来观察被测试的系…

【ROS2笔记七】ROS中的参数通信

7.ROS中的参数通信 文章目录 7.ROS中的参数通信7.1使用CLI工具调整参数7.2参数通信之rclcpp实现7.2.1创建节点7.2.2rclcpp参数API Reference ROS2中的参数是由键值对组成的,参数可以实现动态调整。 7.1使用CLI工具调整参数 启动turtlesim功能包的环境 ros2 run …

如何在本地创建一个贪吃蛇小游戏node.js服务并实现无公网IP远程游玩

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

OSPF笔记+大实验

OSPF综合大实验---实验报告 配置IP地址 R1: [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 172.16.33.1 24 [R1-GigabitEthernet0/0/0]int l0 [R1-LoopBack0]ip add 172.168.34.1 24 R2: [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 172.16.33.2 24…

Jmeter接口测试:使用教程(下)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,涨薪更快 上一篇我给大家讲了jmeter的基本介绍跟参数化和jmeter脚…

【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现

前言 上文说到,Spring Security它是一个强大的和高度可定制的身份验证和访问控制框架。它提供了一套丰富的功能,用于保护基于Spring的应用程序。 上文又说到,在Spring Security中,过滤器(Filter)是一个重…

png静图转换gif动图如何操作?轻松一键快速转换gif动图

想要把多张Png格式图片转换成gif格式动图时要怎么操作?图片常见的有静图和动图,而jpg、png、gif等是最常见的图片格式。想要把png格式图片转换成gif动画还不想下载任何软件的时候就可以使用gif制作工具。不需要下载软件在线就能操作。能够轻轻松松就能快…

北斗卫星系统在海上测量中的创新应用

北斗卫星系统在海上测量中的创新应用 随着全球导航卫星系统技术的飞速发展,北斗卫星系统作为中国自主研发的全球卫星导航系统,在海上测量和导航领域展现出了无可比拟的优势和广阔的应用前景。 一、北斗卫星系统概述 北斗卫星系统是由中国自主研发的全球…

idea中打印日志不会乱码,但是部署到外部tomcat中乱码了。

问题:如图Tomcat乱码,而且启动时的系统日志不会乱码,webapp中的打印日志才乱码。 idea中的情况如下:正常中文展示。 问题分析:网上分析的原因是Tomcat配置的字符集和web应用的字符集不匹配,网上集中的解决…