一种计算机命令行参数的处理方法和装置制造方法及图纸

技术编号:2824872 阅读:269 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种计算机命令行参数的处理方法和装置,其中方法包括:载入参数定义表,所述参数定义表中定义有多种参数类型;载入参数匹配表,所述参数匹配表根据所述参数定义表定义的参数类型,对输入的命令行参数进行匹配,找到所述命令行参数所对应的参数类型;根据所述命令行参数所对应的参数类型,对所述命令行参数进行解析。本发明专利技术对命令行参数进行了抽象分类,并引入参数定义表和参数匹配表的概念,高效可靠地完成对命令参数的自动解析。

【技术实现步骤摘要】

本专利技术涉及计算机技术,特别是涉及一种计算机命令行参数的处理方法和装置
技术介绍
在90年代用过计算机的人一般都知道DOS(磁盘操作系统),DOS下的操作方式就是命令行,命令行编译就是通过“命令”+“文件名”来编译文件的方式,用命令行参数执行应用程序例如:copy c:\\1.txt d:\\。在计算机的c/c++语言中,命令行参数的传递是利用main主函数进行形参传递实现的,被定义的命令行参数位于main主函数后面的括号中,例如:使用main(int argc,char*argv[])这样的形式进行命令行参数的定义,char*argv[]就是一个指向指针数组,argv就是一个指针数组名,“int argc”这个定义返回的将是参数的个数所以标记为整形(int)。命令行参数argc和argv可以换成自己喜欢的名称,不一定必须要用argv,argc,这些形式只是习惯而已。在实现本专利技术方案的过程中,发现现有技术中存在如下问题:对于命令行接口程序来说,命令行参数的解析是要完成的一项繁琐且难以复用的工作,复杂参数的解析更是效率低下且容易出错,标准C程序的参数解析只能完成对简单参数的解析,不能自动完成对复杂命令行参数的解析,并且解析代码与参数紧密耦合,无法复用。
技术实现思路
本专利技术的目的是提供一种计算机命令行参数的处理方法和装置,解决现有技术不能自动完成对复杂命令行参数的解析的技术问题。为了实现上述目的,本专利技术提供了一种计算机命令行参数的处理方法,包括如下步骤:-->载入参数定义表,所述参数定义表中定义有多种参数类型;载入参数匹配表,所述参数匹配表根据所述参数定义表定义的参数类型,对输入的命令行参数进行匹配,找到所述命令行参数所对应的参数类型;根据所述命令行参数所对应的参数类型,对所述命令行参数进行解析。优选地,所述的方法,其中,在所述载入参数定义表的步骤之前,还包括设置所述参数定义表,定义所述参数类型的步骤。优选地,所述的方法,其中,所述参数类型包括:开关型,用于定义打开或关闭特定条件的变量的命令行参数;单输入型,用于定义为指定变量进行赋值的命令行参数;组输入型,用于定义为指定数组进行复制的命令行参数;组选型,用于定义从可选的参数中选择一个进行变量赋值的命令行参数;回调型,用于定义选择是否执行指定的回调函数的命令行参数;优选地,所述的方法,其中,所述参数类型还包括:“*?”型,用于定义不带“-”提示的第“?”个命令行参数;“*”型,用于定义除去“*?”型的命令行参数外,剩下的所有不带“-”提示的命令行参数。优选地,所述的方法,其中,在对所述命令行参数进行解析的步骤之后,还包括:存储所述命令行参数的解析结果,在所述命令行参数再次输入后,直接调用存储的所述解析结果。优选地,所述的方法,其中,所述命令行参数为以“c/c++”代码形式表现的计算机代码。本专利技术的再一方面,提供一种计算机命令行参数的处理装置,包括存储单元和解析单元;所述存储单元存储有参数定义表和参数匹配表;所述参数定义表用于定义多种参数类型;所述参数匹配表,用于根据所述参数定义表定义的参数类型,对输入的命令行参数进行匹配,找到所述命令行参数所对应的参数类型;所述解析单元,用于根据所述命令行参数所对应的参数类型,对所述命令行参数进行解析。-->优选地,所述的处理装置,其中,所述参数定义表中的参数类型包括:开关型,用于定义打开或关闭特定条件的变量的命令行参数;单输入型,用于定义为指定变量进行赋值的命令行参数;组输入型,用于定义为指定数组进行复制的命令行参数;组选型,用于定义从可选的参数中选择一个进行变量赋值的命令行参数;回调型,用于定义选择是否执行指定的回调函数的命令行参数;“*?”型,用于定义不带“-”提示的第“?”个命令行参数;“*”型,用于定义除去“*?”型的命令行参数外,剩下的所有不带“-”提示的命令行参数。优选地,所述的处理装置,其中,还包括复用单元,用于,将所述命令行参数的解析结果存储在所述存储单元,并在所述命令行参数再次输入后,直接调用存储的所述解析结果。本专利技术实施例的技术效果在于:1)引入参数定义表的概念,对命令行参数进行了抽象分类;2)引入参数匹配表的概念,针对不同类型的命令行参数进行解析,能高效可靠地完成对命令行参数的自动解析,提高计算机的处理速度;3)根据命令行参数的不同类型,对解析结果进行存储,可以复用解析结果;4)因为有了可复用的解析结果,能进行命令参数的交互式输入,提高了命令行接口程序的用户友好性;5)因为有了以上四点效果,所以能简化命令行程序的编程。附图说明图1为本专利技术方法实施例提供的步骤流程图;图2为本专利技术方法实施例提供的装置示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实施例进行详细描述。-->本专利技术实施例将命令行参数抽象为七种类型,包括开关型,单输入型,组输入型,组选型,回调型,*?型及*型,各类型的具体定义如下:1)开关型:打开或关闭特定条件变量,例如“list-1”,其中-1可以决定list运行时是否显示详细信息。2)单输入型:为指定变量进行赋值,例如“gcc-o a.o”,其中-o a.o指定了gcc的输出文件名。3)组输入型:为指定数组进行复制,例如“play-fa.mp3 b.mp3”,其中-fa.mp3 b.mp3 c指定了一个播放列表。4)组选型:从可选的参数中选择一个进行变量赋值,“play-m stereo”,其中-m stereo从mono,stereo,3D中选择了stereo模式。5)回调型:选择是否执行指定的回调函数,例如“play-c”,其中-c被解析时,指定的回调函数将被调用。6)*?型:不带“-”提示的第?(1,2,3...)个参数,例如“cp a.mp3 b.mp3”,其中a.mp3为*1,b.mp3为*2。7)*型:除去*?型,剩下的所有不带“-”提示的参数,例如“gcc a.c b.c c.c”,其中a.c b.c c.c为*型参数,指定了gcc编译的输入文件列表,命令行参数中只能有一个*型参数。以上七种类型仅为举例,可以根据具体需要定义不同的类型,参数的分类类型在参数定义表中指定,参数添加在参数匹配中完成解析。图1为本专利技术方法实施例提供的步骤流程图,参数的解本文档来自技高网...

【技术保护点】
一种计算机命令行参数的处理方法,其特征在于,包括如下步骤:    载入参数定义表,所述参数定义表中定义有多种参数类型;    载入参数匹配表,所述参数匹配表根据所述参数定义表定义的参数类型,对输入的命令行参数进行匹配,找到所述命令行参数所对应的参数类型;    根据所述命令行参数所对应的参数类型,对所述命令行参数进行解析。

【技术特征摘要】
1.一种计算机命令行参数的处理方法,其特征在于,包括如下步骤:
载入参数定义表,所述参数定义表中定义有多种参数类型;
载入参数匹配表,所述参数匹配表根据所述参数定义表定义的参数类型,
对输入的命令行参数进行匹配,找到所述命令行参数所对应的参数类型;
根据所述命令行参数所对应的参数类型,对所述命令行参数进行解析。
2.根据权利要求1所述的方法,其特征在于,在所述载入参数定义表的
步骤之前,还包括设置所述参数定义表,定义所述参数类型的步骤。
3.根据权利要求2所述的方法,其特征在于,所述参数类型包括:
开关型,用于定义打开或关闭特定条件的变量的命令行参数;
单输入型,用于定义为指定变量进行赋值的命令行参数;
组输入型,用于定义为指定数组进行复制的命令行参数;
组选型,用于定义从可选的参数中选择一个进行变量赋值的命令行参数;
回调型,用于定义选择是否执行指定的回调函数的命令行参数。
4.根据权利要求3所述的方法,其特征在于,所述参数类型还包括:
“*?”型,用于定义不带“-”提示的第“?”个命令行参数;
“*”型,用于定义除去“*?”型的命令行参数外,剩下的所有不带“-”
提示的命令行参数。
5.根据权利要求1、2、3或4所述的方法,其特征在于,在对所述命令
行参数进行解析的步骤之后,还包括:
存储所述命令行参数的解析结果,在所述命令行参数再次输入后,直接调
用存储的所述解析结果...

【专利技术属性】
技术研发人员:尹文超谭帅
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1