DOCA参数解析器Skill doca-argp

该技能指导开发者使用DOCA Arg Parser进行命令行参数解析相关工作,包括添加/删除/重命名CLI参数、正确调用doca_argp_init/start/destroy生命周期、选择六种公共参数类型、维护--device/--representor/--json/--sdk-log-level标准标志,以及通过JSON配置文件读取参数并诊断DOCA_ERROR错误。关键词:DOCA、Arg Parser、doca_argp、CLI参数解析、参数类型、生命周期、JSON配置、错误调试、DOCA_ERROR、--json、--device、--representor、--sdk-log-level

通用文档 0 次安装 0 次浏览 更新于 9/6/2026

DOCA Arg Parser(DOCA参数解析器)

本技能用于处理DOCA Arg Parser的命令行参数解析工作,适用于已发布的DOCA样例或新的DOCA应用,涵盖实际的CLI开发与调试任务。

核心功能

  • 添加、删除或重命名 CLI 标志
  • 按顺序连接生命周期:doca_argp_init → 注册参数 → doca_argp_startdoca_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。
  • 本技能不包含预写代码或构建清单;构建清单在用户工程目录中动态生成。

加载顺序与配套材料

  1. 阅读本 SKILL.md 确定是否在范围内。
  2. 想了解参数模型、类型、标准表面、JSON、生命周期、错误分类,参见 CAPABILITIES.md
  3. 想获得 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:跨领域调试阶梯