Linux开发工具实现C/C++编程

Linux开发工具实现C/C++编程

1.软件包管理器:yum
如何安装软件

通过yum完成gcc的安装:sudo yum install lrzsz
然后敲“y”确认安装,出现"complete",则安装成功

如何卸载软件

命令:sudo yum remove lrzsz

2.编辑器:vim
1.常见的三种模式:
  • 正常模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode
  • 插入模式:只有在Insert mode下,才可以做文字输入,按[i]进入插入模式,按「ESC」键可回到正常模式。
  • 底行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+:即可进入该模式
  • 按[q]退出,[w]保存,[wq]退出并保存,[wq!]强制退出并保存
2.正常模式下的快捷操作

移动光标:

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
  • 按「G」:移动到文章的最后
  • 按「 $ 」:移动到光标所在行的“行尾”
  • 按「^」:移动到光标所在行的“行首”
  • 按「w」:光标跳到下个字的开头
  • 按「e」:光标跳到下个字的字尾
  • 按「b」:光标回到上个字的开头
  • 按「#l」:光标移到该行的第#个位置
  • 如:5l,56l
  • 按[gg]:进入到文本开始
  • 按[shift+g]:进入文本末端
  • 按「ctrl」+「b」:屏幕往“后”移动一页
  • 按「ctrl」+「f」:屏幕往“前”移动一
  • 按「ctrl」+「u」:屏幕往“后”移动半页
  • 按「ctrl」+「d」:屏幕往“前”移动半页

删除文字:

  • 「x」:每按一次,删除光标所在位置的一个字符
  • 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
  • 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
  • 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
  • 「dd」:删除光标所在行
  • 「#dd」:从光标所在行开始删除#行

复制

  • 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
  • 「#yw」:复制#个字到缓冲区
  • 「yy」:复制光标所在行到缓冲区
    -「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
  • 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

替换

  • 「r」:替换光标所在处的字符。
  • 「R」:替换光标所到之处的字符,直到按下「ESC」键为止
    撤销上一次操作
  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复
  • 「ctrl + r」: 撤销的恢复

更改

  • 「cw」:更改光标所在处的字到字尾处
  • 「c#w」:例如,「c3w」表示更改3个字
    跳至指定的行
  • 「ctrl」+「g」列出光标所在行的行号
  • 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
3.简单vim配置
  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。命令:vim /etc/vimrc
  • 设置语法高亮: syntax on,显示行号: set nu,设置缩进的空格数为4: set shiftwidth=4
  • 按[i]输入:
    请添加图片描述
  • 按[esc]退出编辑模式后按[shift+:]再按[wq]保存并退出
  • 测试效果:
    请添加图片描述
  • 一个超好用的插件:vimforcpp,直接输入命令安装:curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
4.其他
  • 多行注释:
    1.ctrl +v
    2.选中需要注释的行,使用hjkl移动光标
    3.shift + i :进入插入模式
    4.输入注释符号
    5.esc
  • 多行去注释:
    1.ctrl+v
    2.选中需要去注释的行当中的注释字符,使用hjkl移动光标
    3.x删除掉
3.编译器:gcc/g++

1.gcc编译C,g++编译C++
2.编译的4个过程:预处理,编译,汇编,链接

  • 预处理:宏替换,头文件展开,删除注释,条件编译
    命令:gcc -E test.c -o test.i(选项“一E”,该选项的作用是让 gcc在预处理结束后停止编译过程;选项“-o”是指目标文件;“.i”文件为已经过预处理的C原始程序)
  • 编译:将源文件生成为汇编代码
    命令:gcc -s test.c/test. i -o test.s
  • 汇编:将汇编代码转化成为二进制代码
    命令:gcc -c test.c/test.i/test.s -o test.o
  • 链接:将若干个二进制代码(.o)或者库文件链接起来生成可执行程序或者库文件
    命令:gcc test.c -o mytest(mytest:就是可执行程序的名字)
4.调试器:gdb
1.两种模式:

debug模式和release模式
因为Linux gcc/g++出来的二进制程序默认为release模式,所以要使用gdb调试时,要给后面加上-g,即:在这里插入图片描述

2.进入gdb调试的基础方法
  • l:查看源码
    在这里插入图片描述
  • l [func name]:查看某个函数的源码
  • r:执行程序
    在这里插入图片描述> - n:逐过程执行(不会进入到被调用函数的内部)
  • s:逐语句执行(会跳转到函数的内部进行执行)
  • b [源代码中行号]:打断点
    在这里插入图片描述> - i b:查看断点
    在这里插入图片描述> - c:继续执行
    在这里插入图片描述在这里插入图片描述
  • delete breakpoints:删除所有断点 在这里插入图片描述> delete breakpoints n:删除序号为n的断点
    disable breakpoints:禁用断点
    enable breakpoints:启用断点
  • info(i) locals:查看当前栈帧局部变量的值
  • quit:退出gdb
5.自动化构建项目:make/Makefile
1.介绍:

make:是一个命令
makefile:是一个文件
过程:make会根据makefile的内容进行解析,编译程序,从而生成可执行程序

2.makefile的文件格式

目标对象:依赖对象
编译命令
如:在这里插入图片描述在这里插入图片描述

3.makefile的工作原理
  • make会在当前目录下找名字叫“Makefile”或“makefile”的文件来进行解析,如果找不到则报错
  • 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“hello”这个文件,并把这个文件作为最终的目标文件
  • 如果生成了目标对象,则后续文件当中的内容不解析,如果为了生成第一个目标对象,需要先生成依赖对象,则在makefile文件当中查找生成依赖对象的方法,如果发现依赖的对象不存在,则报错返回
  • 若依赖对象的最后一次修改时间小于目标对象的最后一次修改时间,则不生成
4.makefile文件当中的自定义变量和内置变量

内置变量:

  • 内置变量
    $^:所有依赖对象
    $@:目标对象
    $<:代表第一个依赖对象在这里插入图片描述> - 自定义变量: $()解引用
    在这里插入图片描述在这里插入图片描述
  • 19
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值