首页 > 代码库 > makefile规则编写&C语言字符串拷贝&vim介绍

makefile规则编写&C语言字符串拷贝&vim介绍

makefile规则:
$@:目标文件
$^:所有的依赖文件
$<:第一个依赖文件
-c:输出目标代码,不输出可执行文件
-g:编译器编译的时候提供以后对程序调试的信息
target:rules
    gcc -o $@ $^
install:
    cp target /usr/local/bin
clean:
    rm target
    
lib库查找方法:
nm -o /lib/*.so | grep "函数名字"
nm -o /lib/*.so | grep “sin”
输出libm-2.1.2.so    sin函数需要libm库编译
gcc -o $@ $^ -lm ->指定lib库为libm
strings -f /lib/*.so | grep “sin”  查找lib库

C函数字符串拷贝详解:
memset(*s,int c,int length):初始化数组,指针,结构体,链表.  第二个参数int c指定ASCII值
void *memset(void *s,int c, size_t n);

memcpy用来做内存拷贝,拷贝任何数据类型的对象,可以指定拷贝的数据长度
extern void *memcpy(void *dest, void *src, unsigned int count);

strcpy就只能拷贝字符串了,它遇到‘\0‘就结束拷贝
extern char *strcpy(char *dest,char *src);


man帮助命令:
1.man “命令” ->详细命令介绍
2.man 2 write ->系统调用函数
3.man 3 “函数名” ->C库函数
    

 

vim编辑器功能介绍:
k:光标移动上一行
j:光标移动下一行
h:左移动一个字符
l: 右移动一个字符
0或|:光标定位在一行的开头
$:光标移动在一行的末尾
w:定位下一个单词
b:定位上一个单词
(:定位一句话的开头
):定位一句话的结尾
{或[[:移动段落的开头
}或]]:移动段落的结尾
n|:移动到n列
1G:移动到文件第一行
G:移动到文件最后一行
nG或:n --->移动到文件第n行
H:移动到屏幕顶部
nH:移动到距离屏幕顶部n行的位置
M:移动到屏幕中间
L:移动到屏幕底部
nL:处理屏幕底部n行的位置
:x ->移动到x行

/向下查找
?向上查找

:vsp  vi编辑器打开多个屏幕显示
:sp


x ->删除当前光标下的字符
X ->删除光标前面的字符
dw     ->删除当前光标到单词结尾的字符
d^ ->删除当前光标到行首的字符
d$或D ->删除当前光标到行尾的字符
dd ->删除整行

yy ->复制

p ->粘贴到下一行
P ->粘贴到上一行

J ->当前行和下一行连接为一行
<< -->当前行左移一个单位
>> -->当前行右移一个单位  缩进
~ -->改变当前字符的大小写
^G:显示当前文件名和状态
U:撤销对当前行做的修改
u:撤销操作
:f ->以百分号的形式显示当前光标在文件的位置,文件名 文件总行数
:f filename  ->重命名
:w filename  ->保存修改到
:e filename  ->打开另一个文件
:cd dir  -->改变当前工作目录
:e # -->在两个打开的文件之间切换
:n  --->vim编辑器打开多个文件,:n 切换到下一个文件
:P  --->切换到上一个文件
:N    --->切换到上一个文件
:r file  ->读取文件在当前行后插入
:nr file ->读取文件在第n行后边插入


模式匹配
^ 开头
. 匹配一个字符
* 匹配零个或多个字符
$ 匹配一行的结尾
[] 匹配一组字符

:set ai ->设置自动缩进
:set noai ->取消自动缩进
:set nu ->显示行号
:set sw=4  -> 设置缩进的空格数
:set ws "string" 循环搜索字符串
:set wm=2  设置距离边际2个字符自动换行
:set ro 设置文件类型为只读
:set term:输出终端类型
:set bf:忽略输入的控制字符 (回车 退格)

运行命令
:!ls
感叹号后面跟命令

 


shell 字符串空串的判断
1.-z参数判断空串
if [ -z “$string” ]
then
    echo “current $string for NULL”
fi

2.x判断空串
if [ "$string"x = x ]
then
    echo "NULL"
else
    echo "NOT MULL"
fi

3.length=`echo $string | wc -L`
if [ $length -eq 0 ]
then
    echo "NULL"
fi
计算字符串的长度

4.if [ "$string" = "" ]
then
    echo NULL
fi

makefile规则编写&C语言字符串拷贝&vim介绍