zoukankan      html  css  js  c++  java
  • Linux 软连接应用

    概述

    linux下,为一个程序创建多个不同名的软链接,并达到行不同的名称运行该程序的不同功能。

    实现

    定义功能

    typedef int (*cmd_func)(int, char const **);
    int himc(int c, char const **v) { return 0; }
    int himm(int c, char const **v) { return 0; }
    

    定义结构

    typedef struct CMDSHELL_STRU
    {
        char *cmdstr;
        cmd_func pFunc;
        char *helpstr;
    } CMD_SHELL_T;
    

    定义实例

    static CMD_SHELL_T pCmds[] = {
        {"himc", himc, "memory clear"},
        {"himm", himm, "memory modify"},
        {NULL, NULL, 0},
    };
    

    确定命令

    CMD_SHELL_T *get(int argc, char const *argv[])
    {
        int i;
        while (pCmds[i].cmdstr)
        {
            if (strcmp(pCmds[i].cmdstr, argv[0]) == 0)
            {
                return (&pCmds[i]);
            }
            i++;
        }
    
        return NULL;
    }
    

    执行命令

    CMD_SHELL_T *pCmd = get(argc, argv);
    if (pCmd)
        return ((int)pCmd->pFunc(argc, argv));
    

    应用

    gcc *.c -o btools
    ln -s btools himc
    ln -s btools himm
    export PATH=$PATH:`pwd`
    himc
    himm
    
  • 相关阅读:
    RegExp
    svn操作
    前端跨域请求
    UML
    excel 常用设置
    python中 cmp
    python global nonlocal
    python常见异常提示
    table边框和td的width失效
    display_css
  • 原文地址:https://www.cnblogs.com/llil/p/13674716.html
Copyright © 2011-2022 走看看