diff --git a/README.md b/README.md index 8fa6f0c..9e4a2a9 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ conan create . ## 示例程序 -构建简单的命令行程序 +构建简单的命令行程序,更多示例请参考`example`目录 ```c #include "ArgParse.h" #include @@ -42,7 +42,7 @@ conan create . #include ArgParse *Init() { - ArgParse *ap = argParseInit("简单的命令行工具示例"); + ArgParse *ap = argParseInit("简单的命令行工具示例",NOVALUE); // 添加第一个命令 Command *cmd = argParseAddCommand( diff --git a/conanfile.py b/conanfile.py index 8485c80..d952c58 100644 --- a/conanfile.py +++ b/conanfile.py @@ -6,7 +6,7 @@ import os class loggingRecipe(ConanFile): name = "cargparse" - version = "0.3.0" + version = "0.3.1" license = "MIT" author = "321640253@qq.com" url = "https://gitea.youmetme.wang/youmetme/logging" diff --git a/include/ArgParse.h b/include/ArgParse.h index ba42540..ed195d5 100644 --- a/include/ArgParse.h +++ b/include/ArgParse.h @@ -7,6 +7,14 @@ extern "C" { #endif + +#ifdef _MSC_VER + #define NORETURN __declspec(noreturn) +#else + #define NORETURN _Noreturn +#endif + + #define ARG_DEFAULT_HELP_FLAG "--help" typedef struct ArgParse ArgParse; // 解析器 @@ -303,7 +311,7 @@ char *argParseGenerateHelp(ArgParse *argParse); char * argParseGenerateArgErrorMsg(ArgParse *argParse, char *name, bool short_flag); -_Noreturn void argParseError(ArgParse *argParse, +NORETURN void argParseError(ArgParse *argParse, Command *lastCommand, const char *prefix, const char *suffix); diff --git a/src/ArgParse.c b/src/ArgParse.c index 1142849..f7a71d5 100644 --- a/src/ArgParse.c +++ b/src/ArgParse.c @@ -818,7 +818,7 @@ bool argParseCheckCommandTriggered(ArgParse *argParse, char *command_name) { return command->is_trigged; } -_Noreturn void argParseError(ArgParse *argParse, +NORETURN void argParseError(ArgParse *argParse, Command *lastCommand, const char *prefix, const char *suffix) {