toolbox.c

来自「Android 一些工具」· C语言 代码 · 共 58 行

C
58
字号
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int, char **);static int toolbox_main(int argc, char **argv){    // "toolbox foo ..." is equivalent to "foo ..."    if (argc > 1) {        return main(argc - 1, argv + 1);    } else {        printf("Toolbox!\n");        return 0;    }}#define TOOL(name) int name##_main(int, char**);#include "tools.h"#undef TOOLstatic struct {    const char *name;    int (*func)(int, char**);} tools[] = {    { "toolbox", toolbox_main },#define TOOL(name) { #name, name##_main },#include "tools.h"#undef TOOL    { 0, 0 },};int main(int argc, char **argv){    int i;    char *name = argv[0];    if((argc > 1) && (argv[1][0] == '@')) {        name = argv[1] + 1;        argc--;        argv++;    } else {        char *cmd = strrchr(argv[0], '/');        if (cmd)            name = cmd + 1;    }    for(i = 0; tools[i].name; i++){        if(!strcmp(tools[i].name, name)){            return tools[i].func(argc, argv);        }    }    printf("%s: no such tool\n", argv[0]);    return -1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?