目录
一、工具的本质
二、一些常用的工具
1.yum
2.vim
1)vim的三种基本模式:
2)vim的基本操作
①命令模式下的基本操作:
②插入模式:
③底行模式:
3)vim的配置:让他变得更好用
3.gcc/g++的使用
基本使用方法:
编译过程
动静态链接
4.gdb命令行调试
3)调试指令
编辑
5.初识M/makefile
补充:系统是如何得知源文件是否未被修改的?文件属性——三个时间
总结
一、工具的本质
工具在本质上也是一种特殊的指令
二、一些常用的工具
1.yum
常用选项:
yum list | grep 软件名:搜安指定软件;
yum install 软件名:安装指定软件;
yum remove 软件名:卸载指定软件
提示:yum需要root权限,故一般处于root身份或者sudo安装
示例:安装sl小火车
①sudo yum install -y sl或则root身份下的yun install -y sl(-y即不要过多询问直接安装)
②sl(运行该软件)
如果安装成功,屏幕中会出现如下小火车。
不知道是普通用户还是root?可用whoami指令查看
2.vim
介绍:Linux下的一款功能强大的编辑器(功能很多的记事本……)
使用方法:vim 先打开的文件名
1)vim的三种基本模式:
①命令模式:默认打开vim进入后所处的模式;
注意:在vim中的操作须在输入法为英语环境下进行。
②底行模式:在命令模式下,按住shift + :即可进入底行模式
注意光标在哪
在底行模式输入q再Enter可退出vim。
③插入模式:在命令模式下按键盘上的i键进入,进入后屏幕左下角会显示“--INSERT--”字样
在插入模式输入内容后,保存须在底行模式输入w再Enter。
三种模式的切换:
命令模式+i==插入模式,插入模式按esc(键盘左上角)可退回命令模式;
命令模式+shit+:是底行模式,底行模式按esc(键盘左上角)可退回命令模式;
插入模式不能直接切换到底行模式,反之亦然,需要命令模式做中介。
画的好丑,读者见谅
在底行模式输入!q再Enter可退出vim。
2)vim的基本操作
①命令模式下的基本操作:
光标定位:
文本编辑:
撤销:u
撤销撤销:ctrl + r
②插入模式:
按期望编写文件即可
③底行模式:
3)vim的配置:让他变得更好用
3.gcc/g++的使用
若系统未安装gcc或者g++先安装:sudo yum install -y gcc或sudo yum install -y g++
基本使用方法:
gcc 源文件 -o 可执行文件名;g++ 源文件 -o 可执行文件名。
①若有多个源文件则在gcc/g++后跟着列出即可,中间空格‘ ’隔开;
②-o:是为生成的可执行文件命名,若无-o则默认生成a.out
编译过程
从源文件到可执行文件经过了如下几个步骤:
①预处理:头文件展开,宏定义替换,去注释,条件编译;
②编译:将源文件编译为汇编语言;
③汇编:将②中汇编语言进一步翻译为二进制机器语言;
此时的二进制文件可以被机器执行吗?
答:不能,在我们的代码中只有函数的调用,如pringf、scanf等,没有他们的实现!!他们的实现在C标准库,还需要第五步链接!
④链接:将③中的二进制代码与库中代码合并链接最后形成可执行程序。
什么库?干嘛的?比如printf这个函数,我们在编写代码时只是调用了他,却并没有实现,他的实现在C标准库中,即头文件"stdio.h"
动静态链接
在编译过程中的第五步链接又分为动态链接和静态链接:
如上述生成的hello可执行程序,若用file指令:file hello,在弹出的信息中可看到Linux系统采用了动态链接方式(大多数系统都是默认动态链接)
4.gdb命令行调试
首先应该明确的是:在不同的开发环境调试的方式是不同的,但调试的思路一定是一样的。
1)gdb的安装:sudo yum install -y gdb
2)在Linux中gcc/g++默认生成的是release版本,若想调试应该在编译时带上-g,如:
这里插个题外话:为什么会有release和debug之分?
3)调试指令
5.初识M/makefile
拿上述的hello程序写一个最简单的makefile(在vim中编写):
补充:系统是如何得知源文件是否未被修改的?文件属性——三个时间
使用stat指令:stat hello可查看hello的详细信息
其中有三个时间:
所以系统是如何得知源文件是否未被修改的呢?
总结
本篇文章主要介绍了yum、vim、gcc/g++以及gbd的基本使用方法,同时补充了程序的编译过程和动静态链接过程。笔者水平较浅薄,难免有疏忽大意的地方,若有错误还请读者指出!!
文章读完可否给笔者一个免费的赞呢,一个免费的点赞就能让笔者高兴很久哦。