0.3.2版本 #4
| @@ -7,14 +7,12 @@ | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #ifdef _MSC_VER | ||||
|     #define NORETURN __declspec(noreturn) | ||||
| #define NORETURN __declspec(noreturn) | ||||
| #else | ||||
|     #define NORETURN _Noreturn | ||||
| #define NORETURN _Noreturn | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #define ARG_DEFAULT_HELP_FLAG "--help" | ||||
|  | ||||
| typedef struct ArgParse ArgParse; // 解析器 | ||||
| @@ -24,10 +22,10 @@ typedef int (*ArgParseCallback)(ArgParse *argParse, | ||||
|                                 int       val_len); // 回调函数 | ||||
|  | ||||
| typedef enum { | ||||
|     NOVALUE = 0,     // 无值 | ||||
|     SINGLEVALUE,     // 单值 例如: -i https://www.baidu.com | ||||
|     MULTIVALUE,      // 多值 例如: -s a b c 或 -s a -s b -s c等 | ||||
| } ArgParseValueType; // 值类型 | ||||
|     ArgParseNOVALUE = 0, // 无值 | ||||
|     ArgParseSINGLEVALUE, // 单值 例如: -i https://www.baidu.com | ||||
|     ArgParseMULTIVALUE,  // 多值 例如: -s a b c 或 -s a -s b -s c等 | ||||
| } ArgParseValueType;     // 值类型 | ||||
|  | ||||
| typedef struct CommandArgs { | ||||
|     /* 构造属性 */ | ||||
| @@ -77,7 +75,7 @@ typedef struct ArgParse { | ||||
|     struct CommandArgs **global_args;     // 全局参数 | ||||
|     int                  global_args_len; // 全局参数个数 | ||||
|     char                *documentation;   // 帮助文档 | ||||
|     ArgParseValueType value_type; // 值类型 程序默认需要的值例如 gcc main.c | ||||
|     ArgParseValueType    value_type; // 值类型 程序默认需要的值例如 gcc main.c | ||||
|  | ||||
|     /* 解析所用到的属性*/ | ||||
|     struct Command *current_command; // 当前解析到的命令 | ||||
| @@ -312,9 +310,9 @@ char * | ||||
| argParseGenerateArgErrorMsg(ArgParse *argParse, char *name, bool short_flag); | ||||
|  | ||||
| NORETURN void argParseError(ArgParse   *argParse, | ||||
|                              Command    *lastCommand, | ||||
|                              const char *prefix, | ||||
|                              const char *suffix); | ||||
|                             Command    *lastCommand, | ||||
|                             const char *prefix, | ||||
|                             const char *suffix); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user