2017/04/20学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb学习笔记总结 目录篇

系列文章--Node.js学习笔记系列

Windows编程课程学习笔记

Windows编程课程学习笔记

2022年Spark基础学习笔记

SpringBoot学习笔记——Thymeleaf