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(镜像的后缀)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用

随着航空、航天、近地空间遥感平台的持续发展,遥感技术近年来取得显著进步。遥感数据的空间、时间、光谱分辨率及数据量均大幅提升,呈现出大数据特征。这为相关研究带来了新机遇,但同时也带来巨大挑战。传统的工作站和服务器已无法满足大区域…

【数据结构】泛型(分享重点)

什么是泛型&#xff1f; 泛型就是适用于许多许多类型&#xff0c;对类型参数化。 怎么创建一个泛型呢 class 泛型类名称<类型形参列表> { // 这里可以使用类型参数 } class ClassName<T1, T2, ..., Tn> { } class 泛型类名称<类型形参列表> extends 继承类…

Hadoop 3.1.3

第1章 Hadoop概述 1.1 Hadoop是什么 1.2 Hadoop发展历史&#xff08;了解&#xff09; 1.3 Hadoop三大发行版本&#xff08;了解&#xff09; Hadoop三大发行版本&#xff1a;Apache、Cloudera、Hortonworks。 Apache版本最原始&#xff08;最基础&#xff09;的版本&#x…

AI大模型探索之路-提升篇2:一文掌握AI大模型的核心-注意力机制

目录 前言 一、注意力机制简介 二、注意力机制的工作原理 三、注意力机制的变体 1、自注意力&#xff08;Self-Attention&#xff09; 2、双向注意力&#xff08;Bidirectional Attention&#xff09; 3、多头注意力&#xff08;Multi-Head Attention&#xff09; ​4、…

卫星影像联合无人机实现农业保险全生命周期监管监测

随着科技的进步&#xff0c;农业保险监管系统的发展日新月异。特别是近年来&#xff0c;随着卫星技术与无人机技术的结合&#xff0c;为农业保险监管系统带来了前所未有的革新。本文将深入探讨如何利用卫星与无人机方案构建高效的农业保险监管系统&#xff0c;并结合实例进行说…

网络篇06 | 应用层 自定义协议

网络篇06 | 应用层 自定义协议 01 固定协议设计&#xff08;简化版&#xff09;1&#xff09;总体设计2&#xff09;值设计 02 可变协议设计&#xff08;进阶版&#xff09;1&#xff09;固定头&#xff08;Fixed Header&#xff09;2&#xff09;可变头&#xff08;Variable H…

51单片机-ADC模数转换实验-电压值

一 主要知识点及分析: 1.这里是用到的XPT2046芯片,芯片详细说明自行查阅; 2.这里有两种模式,一般外设的转换用的是单端模式,在使用触摸屏的时候我们选择差分模式; 3.这张图有就是时序图,读写都需要在这上面进行编写代码, 3.1 写8位代码:主要是将传入的控制命令进行写入; 3.2 读…

C# Solidworks二次开发:相机访问相关API详解

大家好&#xff0c;今天要介绍的API为相机相关的API&#xff0c;这篇文章比较适合女孩子&#xff0c;学会了相机就会拍照了&#xff0c;哈哈。 下面是要介绍的API: &#xff08;1&#xff09;第一个为GetFocalDistance&#xff0c;这个API的含义为获取相机的焦距&#xff0c;…

光速论文靠谱不 #学习方法#笔记

光速论文是一款优秀的论文写作工具&#xff0c;许多学生和学者都对它赞不绝口。那么&#xff0c;光速论文靠谱吗&#xff1f;答案当然是肯定的&#xff01; 首先&#xff0c;光速论文具有强大的查重和降重功能。它能够帮助用户快速检测论文中的抄袭内容&#xff0c;并提供专业的…

小程序变更主体影响使用吗?

小程序迁移变更主体有什么作用&#xff1f;有些小程序开发者&#xff0c;因为业务调整&#xff0c;或者公司更换&#xff0c;需要更换小程序主体&#xff01;但是很多开发者对于小程序更换主体的操作流程并不熟悉&#xff0c;于是我们专门准备了这篇&#xff0c;关于小程序更换…

2024年航海制造工程与海洋工程国际会议(ICNMEME2024)

2024年航海制造工程与海洋工程国际会议(ICNMEME2024) 会议简介 2024年航海制造工程与海洋工程国际会议(ICNMEME2024)旨在将研究人员、工程师、科学家和行业专业人士聚集在一个开放论坛上&#xff0c;展示他们在导航制造工程与海洋工程领域的激励研究和知识转移理念。然而&…

嵌入式MCU BootLoader开发配置详细笔记教程

目录 一、BootLoader基础 二、BootLoader原理及配置 三、BootLoader程序 bootloader.h bootloader.c 四、Application1 用户程序 application1.h application1.c 五、Application2 用户程序 application2.h 六、程序运行效果 七、工程文件Demo 一、BootLoader基础 …

C++ | Leetcode C++题解之第29题两数相除

题目&#xff1a; 题解&#xff1a; class Solution { public:int divide(int dividend, int divisor) {// 考虑被除数为最小值的情况if (dividend INT_MIN) {if (divisor 1) {return INT_MIN;}if (divisor -1) {return INT_MAX;}}// 考虑除数为最小值的情况if (divisor I…

C++ 之 【类与对象】从入门到精通一条龙服务 最终篇(static成员、友元、匿名对象。。。)

&#x1f4b4;到用时方恨早&#xff0c;白首方悔挣的少 车到山前没有路&#xff0c;悬崖勒马勒不住 一、再谈构造函数 1.构造函数体赋值 2.初始化列表 3.explicit关键字 二、Static成员 1.概念 2.特性 三、友元 1.友元函数 2.友元类 四、内部类 五、匿名对象 六、…

项目5-博客系统5+程序部署(Linux基本使用)

1.Linux的基本使用 1.1 Linux 是什么 Linux 是⼀个操作系统. 和 Windows 是 "并列" 的关系. 1.2 Unix & Linux 发展历程图 1.1969−1970 年, ⻉尔实验室的 Dennis Ritchie (左) 和 Ken Tompson (右) 开发了 Unix 操作系统. 2. Unix ⽕了之后, 衍⽣出很多的分⽀…

jvm参数介绍

JVM参数是指在Java应用程序启动时&#xff0c;通过命令行或者配置文件等方式传递给JVM的一些参数和选项。这些参数主要用于配置JVM的内存、垃圾回收、线程等相关参数。下面是一些常见的JVM参数简介&#xff1a; 1. -Xmx&#xff1a;设置应用程序可使用的最大内存量&#xff0c;…

C++ | Leetcode C++题解之第30题串联所有单词的子串

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> findSubstring(string &s, vector<string> &words) {vector<int> res;int m words.size(), n words[0].size(), ls s.size();for (int i 0; i < n && i m …

文献阅读:Viv:在 web 上多尺度可视化高分辨率多重生物成像数据

文献介绍 「文献题目」 Viv: multiscale visualization of high-resolution multiplexed bioimaging data on the web 「研究团队」 Nils Gehlenborg&#xff08;美国哈佛医学院&#xff09; 「发表时间」 2022-05-11 「发表期刊」 Nature Methods 「影响因子」 47.9 「DOI…

GitHub repository - Code - Issues - Pull Requests - Wiki

GitHub repository - Code - Issues - Pull Requests - Wiki 1. Code2. Issues3. Pull Requests4. WikiReferences 1. Code 显示该仓库中的文件列表。仓库名下方是该仓库的简单说明和 URL. 2. Issues 用于 BUG 报告、功能添加、方向性讨论等&#xff0c;将这些以 Issue 形式进…

初识DOM

目录 前言: 1.初识DOM: 1.1DOM树: 1.2节点&#xff08;Node&#xff09;: 1.2.1元素节点&#xff1a; 1.2.2属性节点&#xff1a; 1.2.3文本节点&#xff1a; 1.3Document对象: 2.操作网页元素: 2.1找出元素&#xff1a; 2.1.1document.getElementById(id)&#xff1…