您的位置:首页 > 运维架构 > Shell

C语言实现shell框架

2016-01-20 04:02 573 查看
方法:使用结构体回调函数的方式实现shell(引导程序框架)

实现代码:

#include <stdio.h>

typedef void (*back_way)(void);//函数类型

void A(void){printf("AAA\n");}//函数指针A

void B(void){printf("BBB\n");}//函数指针B

typedef 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下可执行程序.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: