Linux 编译
1.vim编辑:
模式:按i进入插入模式,按Esc进去命令模式
保存和退出:命令模式下,:w表示保存, :q表示退出 :q!强制退出(不保存)
搜索字符串:命令模式下,/string表示向下搜索字符串 ?string向上搜索字符串 按n进行下一个 开启忽略字符串大小写::set ignorecase 关闭::set noignorecase
替换字符串:语法::[range]s/pattern/string/[c,e,g,i] range表示替换范围,%表示全文替换 pattern为待替换字符串,string为将替换字符串 c表示替换询问,e不显示错误信息,g表示替换一行所有匹配项,i忽略大小写
删除:命令模式下,dd删除光标所在行,x删除单个字符,r替换单个字符
复制:命令模式下,yy删除光标所在行
粘贴:命令模式下,p粘贴复制/删除的内容
撤销和重做:命令模式下,u撤销一次操作 Ctrl+R重做被撤销的操作
分屏:命令模式下,:sp横屏分,:vsp竖屏分,ctrl+ww切换屏 ,q退出该屏
跳转man手册:命令模式下,K查看该命令手册
vim中编译:命令模式下,:!./xx.c
2.gcc:
四步骤:预处理(gcc -E)->编译(gcc -S)->汇编(gcc -c)->链接(无参数)
预处理:
编译:消耗时间和系统资源最多
汇编:
链接:
-I:指定头文件目录位置:
-g:添加调试语句,支持gdb调试
3.静态库制作和使用:
(1)将.c文件编译为.o文件 gcc -c xxx.c -o xxx.o
(2)使用ar工具制作静态库 ar rcs libmylib.a xxx.o
(3)编译代码和静态库 gcc xxx.c libmylib.a -o xxx.o
注意:制作静态库也要配套制作静态库头文件
头文件守卫: #ifndef XXX_H
#define XXX_H
.....
#endif