首页 > 代码库 > 2017/04/20学习笔记
2017/04/20学习笔记
man man 查看帮助文档
echo $PATH
reboot 重启
poweroff 关机
vim --vim
vim是从vi发展过来的一款文本编辑器
vim的三种工作模式
命令模式--打开vim之后,默认模式
编辑模式--需要输液一些命令,切换到编辑模式
末行模式--在末行模式下可以输入一些命令 :号
aios
AIOS
w保存
光标移动
HJKL
行首:0
行尾:$
文件开始:gg
结束:G
行跳转: 300G
x:删除光标所在字符
u: 撤销
X:删除光标前字符
dw:删除单词
d0:删除光标前
d$:删除光标后 D
dd:删除光标所在行
4dd:删除光所在行 及后3行
ctrl+r 饭撤销
在vim中删除并不是真正的删除,而是被剪切了 使用p可以粘贴会
p 小写 粘贴在所在行的下一行
P粘贴所在喊
yy复制所在行
nyy复制多行
可视模式
切换到可视模式
v
光标移动选择文本
y复制
d删除
查找
/hello 回车 搜索hello (光标所在位置向下)
n结果切换
?hello (光标所在位置向上)
r:替换字符
缩进:
向左:<<
向右:>>
aios
a:从光标后面插入文本内容
A:从尾巴开始输入内容
i:插入到光标前
I:光标移动到行首
o:光标所在行后,创建一行
O:光标所在行前,创建一行
s:删除光标后字符
S:删除光标所在行
末行模式
文本模式不能直接切换到末行模式
行跳转:300 跳转到300含
字符串替换
:s/tom/jack 替换光标所在单词
:s/tom/jack/g 替换当前行所以内容
:%s/tom/jack 替换当前文件所有行 的第一个tom
:%s/tom/jack/g 替换所有的
:27,30s/tom/jack/g 替换27-30行
/tom 查找tom
:w保存
:!pwd
:q 退出
:q! 退出不保存
:w保存
:wq 保存退出
vim 分屏
:sp 水平分屏
ctrl +ww 切换屏幕
:vsp 垂直分屏
vim 打造IDE
/etc/vim/vimrc
~/.vim/vimrc
GCC编译过程
hello.c ->hello.i -> hello.s -> hello.o ->a.out
gcc -E hello.c -o hello.i
gcc -S hello.i -o hello.s
gcc -c hello.s -o hello.o
gcc hello.o -o hello
预处理器: 头文件展开,红替换 注释去掉
编译器 :C文件变成汇编文件
汇编器:汇编文件变成二进制文件
链接器:将函数库中相应的代码组合到目标文件中
ESc
-o 指定文件名
-I 指定头文件目录 (旧版本后面不可以有空格)
-D 定义宏
-O 优化程序
-O0 不优化
-O1
-O2
-O3 最优
-Wall 输出警告信息
-g 生成调试信息(gdb调试的时候必须加次参数
-v 查看版本号
静态库的制作
1.) 命名规则
lib + 库的名字 + .a 例: libmytest.a
2.)制作静态库
生成对应的.o文件
将生成的点o文件打包 ar rcs + 生成静态库名字 +所有需要打包的.o文件
3.)发布和使用静态库
发布的静态库 和 头文件
4.) 优缺点
1.发布程序的时候,不需要提供对应的库
2.加载库的速度快
缺点:
1.库被打包到应用程序中,导致库的体积很大
2.如果库发生了改变,需要程序编译程序
#gcc main.c -Iinclude -L lib -l MyCalc -o myapp
gcc -c add.c -o add.o
ar rcs libcalc.a add.o
gcc hello.c libcalc.a
nm libcalc.a 查看静态库
2017/04/20学习笔记