C语言实现shell框架

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

方法:使用结构体回调函数的方式实现shell(引导程序框架)

实现代码:

#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;}


附件为linux下可执行程序.

1 0
原创粉丝点击