man与echo
man man
echo “hello world” 输出hello world
vim与vi
vim在vi上发展来的
三种模式 -编辑模式 命令模式 末行模式
光标移动 h j k l
撤回 u
反撤销Ctrl +r
复制 yy
粘贴 p
删除 dd
缩进 >>/<<
切换到编辑模式a i o s
替换 s/aa/bb 一行第一个 aa改为bb
😒/aa/bb/g 一行aa替换为宝贝
:%s/aa/bb/g 整个文本aa替换为bb
:31.34%s/aa/bb/g 31到34行aa替换为bb
可视模式 v
复制 y
删除 d
粘贴 p
查找 / or ?
vi分屏
sp水平分屏
vsp 垂直分屏
ctrl+ww 切换屏幕
gcc编译过程
静态库与动态库
1.静态库命名规则
lib +库的名字 +.a
例如:libmytext.a
2.制作步骤
生成对应的,o文件 gcc xx.c -c
将生成的.o文件打包 ar rcs + 静态库的名字 + 生成所有的.o
3发布和使用静态库
发布静态库
头文件
4.静态库的优点
1.发布程序的时候,不需要提供对应的库
2.加载库的速度快
5.静态库的缺点
1.库打包到应用程序中,导致库的体积很大
2.库发生了变化,需要重新编译程序
共享库的制作
1动态库命名规则
lib + 名字 +.so
2制作步骤
生成与位置无关的代码(生成与位置无关的.o)
gcc -fpic -c a.c b.c
打包
gcc -shared -o libmylib.so *.o -Iinclude
编译
gcc main,c -linclude -L./lib -lmylib -o app
动态库优缺点
优点
执行程序体积小
动态库更新,不需要重新编译(前提函数接口不变)
缺点
发布程序需要把动态库提供给用户
动态库没有被打包到程序中 加载速度相对较慢