C语言33行代码简单实现Shell

来源:互联网 发布:公安云计算架构 编辑:程序博客网 时间:2024/06/01 10:03

Shell:引导程序框架,使用结构体和回调函数的方式可以简单的实现Shell,代码难度系数不高

以下是我自己写的一个小例子(附件为linux下编译生成的可执行文件)

代码:

#include <stdio.h>typedef void (*back_way)(void);//函数类型void A(void){printf("AAA\n");}//函数指针Avoid B(void){printf("BBB\n");}//函数指针Btypedef struct func_{const char name;//命令名back_way func;//命令函数指针}func_t;const func_t func_sel[]=  //匹配数组{{'A',A},{'a',A},{'B',B},{'b',B},{0,0},};const func_t* func_find(const char name)//匹配函数{int i = sizeof(func_sel)/sizeof(func_sel[0]);int j = 0;for(; j < i; j++)if(func_sel[j].name == name)return &func_sel[j];//找到就返回return (const func_t*)0;//找不到返回0}int main(){char name = 'a';const func_t *p = func_find(name);//匹配函数if(p)p->func();//调用函数显示结果return 0;}


1 0
原创粉丝点击