项目作者: Gscienty

项目描述 :
c language based reflection to understand arguments
高级语言: C
项目地址: git://github.com/Gscienty/cargs.git
创建时间: 2019-01-13T03:40:29Z
项目社区:https://github.com/Gscienty/cargs

开源协议:

下载


cargs

c language based reflection to understand arguments

(only supports x86_64)

如何使用

只需要在主函数中调用 cargs_call(argc, argv, NULL)即可,第三个参数为一个函数指针void (*fptr)()
该函数指针指向未命中任何process时调用的函数。

定义参数

args 的定义主要包含四个:定义标签参数、定义子标签参数、定义普通参数、定义子普通参数。

定义标签参数

代码格式为: cargs_flag(<参数名>, __SET__("<参数标签>" [, "<参数标签>", ...]))

定义子标签参数

代码格式为: cargs_subflag(<参数名>, <父参数名>, __SET__("<参数标签>" [, "<参数标签>", ...]))

定义普通参数

代码格式为: cargs_arg(<参数名>, __SET__("<参数标签>" [, "<参数标签>", ...]), __SET__(<参数类型> [, <参数类型>, ...]))

定义子普通参数

代码格式为: cargs_arg(<参数名>, <父参数名>, __SET__("<参数标签>" [, "<参数标签>", ...]), __SET__(<参数类型> [, <参数类型>, ...]))

定义参数类型

该框架支持自定义参数类型,代码格式为cargs_arg_type(<格式类型编号>, <类型宽度>, <验证函数>, <转化函数>)

定义process

代码格式为 cargs_process(<process名称>, __SET__(<参数名>), [<参数列表>, ...]) { <函数块> }