当前位置:  技术问答>linux和unix

为一个较大的应用软件实现一个c/c++命令行的界面 。。。

    来源: 互联网  发布时间:2016-01-30

    本文导语:  不知道发这里合不合适。。。 ================ 在Linux系统,有一个较大的应用软件, 现在要用c/c++为这个软件实现一个命令行的界面。 比如这个应用软件的名字叫 A, 在一般的shell下, 我输入 "A Cmd1 argument1 argument2...

不知道发这里合不合适。。。

================
在Linux系统,有一个较大的应用软件, 现在要用c/c++为这个软件实现一个命令行的界面。 比如这个应用软件的名字叫 A, 在一般的shell下, 我输入 "A Cmd1 argument1 argument2 ... argumentN", 系统运行命令后退出。这里cmd1会有100多个命令,他们属于多个不同的分类,比如系统用户管理类,系统网络管理类 等等。

对于这个命令行的界面,当然还有一些别的要求,比如要支持命令和命令行参数的替换, 比如 "A shutdown arg1 arg2 ..." 和 "A stop arg1 arg2 ..." 一样, 有一些命令要支持setuid 。。。

会有100多个命令, 可能会有新的命令加入,所以要求这个命令行的界面地设计要容易扩展和修改。

大家对于设计这样一个c/c++命令行的界面有啥好的建议。不是要你们的code, 只要建议想法就可以了。

谢谢。

|
我虽然没有回答您的问题,但也帮您顶了下,求您给小女几分好吗?我非专业,但需要点分提问啊!
呵呵,谢谢!!

|
看你想设计什么样的命令引擎了。简单的命令只接受单条命令及其参数。复杂命令则更像脚本程序设计语言,允许多条命令协同工作。
acange (acan)最好先深入分析一下你们的系统需要什么样的命令。然后再定方案。复杂的命令脚本可能需要编译技术来做,简单的写个命令行分析模块就ok了。

|
lz请参考busybox的实现

|
利用表格驱动命令
struct command {
    const char *name;
    int (*func) (const char *argv[]);
    ......
};
如果想更细一点,可以看看GNU的一些小工具的代码。或者看bash的代码。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下有哪些可视化软件开发Linux下的应用软件和驱动程序
  • 网关应用软件 DeleGate
  • Linux应用软件问题?
  • 怎样在 Linux 上安装一个 千千静听呀, 或是其它的一些应用软件
  • 桌面应用软件的跨平台解决方案 heX
  • 安装应用软件时为什么总说opt目录磁盘空间不够?
  • 运行应用软件的问题
  • 个人云计算应用软件 SelfCloud
  • 想做一个unix下应用软件的安装程序
  • 请问:Java开发数据库应用软件合适吗?
  • linux中的网页制作应用软件
  • 请问如何在linux下安装应用软件
  • linux下的应用软件开发到底都用什么语言啊??
  • linux下如何安装应用软件
  • 如何把电子盘中已安装好的LINUX内核及应用软件制作成安装光盘......
  • linux的应用软件在哪里下载?急!!!!
  • 请问:LINUX下载的文件按惯例放哪里啊?安装的应用软件按惯例放哪里呢?
  • 在Linux环境下如何安装应用软件?(就这么多分了,问题解决一定追加分)
  • freebsd 下安装完应用软件如何运行它
  • 如何在UNIX下按装应用软件,请赐教!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3