Linux服务器开发学习笔记7.28

7.28笔记

vim文本编辑器

vim是从vi发展过来的一款文本编辑器。

vi的三种工作模式:

  1. 命令模式——打开文件之后,默认进入命令模式(只能看的模式)
  2. 编辑模式——需要输入一些命令,切换到编辑模式(命令模式键入i,o,a,s进入,按esc退回到命令模式)
  3. 末行模式——在末行模式下可以输入一些命令(命令模式下键入:进入,连按两下esc退回到命令模式)

命令模式操作

  1. 光标的移动h,j,k,l分别为左下上右
  2. 按0跳到行首,$移动到行尾
  3. gg移动到文件首部,G移动到文件尾部,移动到某一行[行号]G
  4. X删除光标前面的字符,x删除光标后面的字符
  5. dw删除一个单词(光标位于单词的第一个字母)
  6. d0把行首到光标前的内容删了,D/d$删除光标到行尾的内容
  7. dd删除当前行,[行数]dd删除多行(其实是剪切操作)
  8. 撤销操作u,恢复操作ctrl+r
  9. 复制yy,复制多行nyy,粘贴p(光标所在行的下一行),粘贴P(光标所在行)
  10. 按v进入可视模式,按hjkl选择多个字符,复制按y,删除按d
  11. 从光标所在位置向下查找/[名词],向上查找?[名词],也可以在单词处按#,找到之后N/n可以上移/下移
  12. 替换当前字符r
  13. 向右缩进>>,向左缩进<<

编辑模式操作

  1. a——在光标所在位置的后边插入
  2. A——在当前行的尾部插入
  3. i——在光标所在位置的前边插入
  4. I——在光标所在行的行首插入
  5. o——在光标所在行的下边开辟一个新的行
  6. O——在光标所在行的上边开辟一个新的行
  7. s——删除光标后边的字符
  8. S——删除光标所在行

末行模式操作

  1. 替换操作s/[名词1]/[名词2]/参数,不加替换当前行第一个名词1,g替换当前行的所有名词1,%s/[名词1]/[名词2]/g替换所有名词1,m,ns/[名词1]/[名词2]/g替换m到n行的名词1
  2. w保存,q退出,wq保存并退出,q!不保存退出
  3. sp水平分屏当前文件,ctrl+ww切换不同窗口,q关掉一个分屏
  4. vsp垂直分屏当前文件,ctrl+ww切换不同窗口,q关掉一个分屏,vsp[文件名]能够分不同文件

gcc编译器

gcc编译过程

在这里插入图片描述

对g++也适用

静态库的制作和使用

C语言静态库和共享库详解

命名规则

lib + 库的名字 + .a

制作步骤

  1. 生成对应的.o文件
  2. 将生成的.o文件打包 ar rcs + 静态库的名字 + 生成的所有的.o
  3. 发布和使用静态库
#使用g++编译器

#在当前目录下新建三个目录
sudo mkdir include lib src		#分别对应头文件,库文件,源文件

#创建和编辑头文件
cd include
touch head.h
vi head.h

在这里插入图片描述

#创建和编辑源文件
cd ../src
touch sum.cpp
vi sum.cpp

在这里插入图片描述

源文件中写的是#include “head”,在编译时要指定头文件目录

#打包成静态库
g++ -c sum.cpp -o sum.o		#编译成二进制文件
ar rcs libtest.a sum.o		#打包成test库
mv libtest.a ../lib		#移动到lib目录中

#使用静态库
cd ~
touch main.cpp
vi main.cpp

在这里插入图片描述

#编译main.cpp
g++ -c main.cpp lib/libtest.a -Iinclude -o test #指定库文件和头文件目录

#另一种写法
g++ main.cpp -Iinclude -L lib -l test -o test #指定静态库的目录和静态库名称

#运行
./test

在这里插入图片描述

静态库的优点:

  1. 发布程序的时候,不需要提供对应的库
  2. 加载库的速度快

缺点:

  1. 库被打包到应用程序中,导致程序的体积大(调用静态库的最小单位是.o文件)
  2. 库发生了改变,需要重新编译程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值