DOCA Arg Parser(DOCA参数解析器)
本技能用于处理DOCA Arg Parser的命令行参数解析工作,适用于已发布的DOCA样例或新的DOCA应用,涵盖实际的CLI开发与调试任务。
核心功能
- 添加、删除或重命名 CLI 标志
- 按顺序连接生命周期:
doca_argp_init→ 注册参数 →doca_argp_start→doca_argp_destroy - 从公共枚举中选择参数类型:
DOCA_ARGP_TYPE_STRING、_INT、_BOOLEAN、_DEVICE、_DEVICE_REP、_DOUBLE - 保留标准 CLI 表面:
--device、--representor、--json(注意:不是--json-config)、--sdk-log-level - 调试
DOCA_ERROR_BAD_STATE/INVALID_VALUE/NOT_SUPPORTED/IO_FAILED等错误
典型问题场景
- 如何向 DOCA 样例添加自定义参数而不破坏标准 CLI?
- 为什么
doca_argp_param_set_*第二次调用返回BAD_STATE? - 如何用 JSON 配置文件而不是超长命令行驱动样例?
- 为什么
--my-flag X的值被拒绝为INVALID_VALUE? - 如何确认安装中是否存在
doca-argp及其版本? - 何时应使用 doca-argp,何时应使用 getopt / argparse / 自定义解析?
受众与语言范围
面向外部 DOCA 应用开发者(C/C++,或其他语言通过 FFI/绑定调用 C ABI)。文档中提供的示例为 C 语言,但指导原则语言中立。不适用于 NVIDIA 内部对 Arg Parser 库本身的开发。
使用边界
- 未安装 DOCA 时,先转向 doca-setup 技能。
- 建议复用 Arg Parser,而不是用 getopt 等重写样例 CLI。
- 本技能不包含预写代码或构建清单;构建清单在用户工程目录中动态生成。
加载顺序与配套材料
- 阅读本 SKILL.md 确定是否在范围内。
- 想了解参数模型、类型、标准表面、JSON、生命周期、错误分类,参见 CAPABILITIES.md。
- 想获得 configure/build/modify/run/test/debug 工作流,参见 TASKS.md。
相关技能
- doca-public-knowledge-map:公共文档资源路由
- doca-setup:安装与环境准备
- doca-version:版本处理
- doca-structured-tools-contract:结构化工具契约
- doca-programming-guide:通用 DOCA 编程模式
- doca-debug:跨领域调试阶梯