c language based reflection to understand arguments
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(<格式类型编号>, <类型宽度>, <验证函数>, <转化函数>)
代码格式为 cargs_process(<process名称>, __SET__(<参数名>), [<参数列表>, ...]) { <函数块> }