zoukankan      html  css  js  c++  java
  • 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就只能拷贝字符串了,它遇到''就结束拷贝
    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

  • 相关阅读:
    mysql BETWEEN操作符 语法
    mysql IN操作符 语法
    mysql LIKE通配符 语法
    mysql TOP语句 语法
    mysql DELETE语句 语法
    mysql Update语句 语法
    mysql INSERT语句 语法
    mysql ORDER BY语句 语法
    mysql OR运算符 语法
    mysql AND运算符 语法
  • 原文地址:https://www.cnblogs.com/neilwang446/p/6545052.html
Copyright © 2011-2022 走看看