3.Linux开发工具

1.什么是yum工具

就是应用商店

3.Linux开发工具_第1张图片

一.vim——文件编译器

 vim是什么?

答:文件编译器,用来进行代码编写

特征  是一款多模式的编译器,默认处在命令模式。

常用有12中模式,目前我们需要掌握三种模式。分别是

    命令(普通)模式 :执行各种命令

              插入(编辑)模式 :用来输入代码

              底行模式:目前多用来实现保存(w)和退出(q)

1.首先了解模式间的切换,如何从普通模式进入插入模式?(三种方式)

①输入 i 进入插入模式(光标不变)

②输入 a 进入插入模式(同行下一个位置)

③输入 o 进入插入模式(换下一行)

而如何回去呢?          答:插入->命令  esc

怎么进入底行模式呢?   答:进入底行需要从插入模式进行 shift+;  也就是插入模式输入:,vim可以从底行退出wq

底行模式中,set nu显示行号。

命令模式一些常见命令

yy:复制当前行  nyy:复制n行

p:粘贴到下一行  np:粘贴n行

u:撤销上次动作

dd:剪切光标所在行  ndd 剪切n行

gg:将光标定位文件最开始

shift+g:将光标定位文件最结尾    n,shift+g,定位第n行

shift + 4($) :将光标定位当前行的最结尾

shift + 6(^) :将光标定位当前行的最开始

b,w,按照单词前移,后移  nb,nw

x,nx 删除文本内容

hjkl,左(h)下(j)上(k)右(l)

底行模式

/查找文本

ctrl + 快速两次w  切换窗口

vim test.c + 8 光标定位到出错附近

zz:保存退出

ctrl + r 反撤销

二.gcc

预处理,编译,汇编,链接

我们来了解上面四个步骤都干了什么

预处理

  • 进行宏替换,文件包含,条件注释,去注释等
  • 实际操作:gcc -E hello.c -o hello.i
  • -E是让预处理结束后停止编译过程(end的意思)
  • -O是指目标文件(object),i文件为已经预处理过的文件

编译

  • 这个阶段,gcc首先会检查代码的正确性,无误后将代码翻译成汇编语言。
  • 实际操作:gcc -S hello.i -o hello.s
  • -S生成汇编代码,但只进行编译,不进行汇编。

汇编

  • 这个阶段是将编译阶段生成的.s文件转成机器可以识别的代码。
  • 实际操作:gcc -c hello.s -o hello.o
  • 使用-c就可以看到汇编代码已转化为.o的二进制目标代码了

链接

  • 生成可执行文件。
  • 实际操作:gcc hello.o -o hello

1.Linux有两种库,一种是静态库(libxxx.a),一种是动态库(libxxx.so),gcc静态连接时,默认是动态链接,一般链接的时候,找的库是.so。静态链接找.a。如果出现链接错误,应该先确认是否存在对应的库。

-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件

编译器如何找到各种库?

使用库,其实是在使用什么东西?

如何生成库?

linux环境可以跑大部分语言

3.Linux调试器——gdb使用

ctrl r 历史命令搜索

Linux默认生成的可执行程序是动态链接,以release版本发布

-g以debug方式发布

gdb   file.c-d

部分常用指令

list  l  显示源代码,每次10行

breakpoint  b  断点 

info b 断点信息

p 打印

四.make/makefile——Linux项目自动化构建工具  

makefile中相当于写了依赖关系和方法,以便于操作时直接使用。

依赖关系:决定了能不能这样做,生活中隐形的。表明依赖对象

依赖方法:决定了如何做,我要干什么。

3.Linux开发工具_第2张图片

3.Linux开发工具_第3张图片

 

你可能感兴趣的:(linux,c语言,c++)