4 个版本

使用旧 Rust 2015

0.1.3 2017年8月14日
0.1.2 2017年8月14日
0.1.1 2017年8月11日
0.1.0 2017年8月10日

#93 in #idl

MIT 许可证

735KB
33K SLoC

graphql-idl-parser 的 C API

这是对 graphql-idl-parser crate 的 FFI 绑定,允许你在 C 项目中使用该 crate。

头文件 (includes/gql-idl-parser.h) 是此库的主要 API 文档。T

用法

exampletest 子目录中有如何使用此 C 语言的示例。

简单地运行 cargo build --release 应该为你生成 .so.dylib

假设你有 C 编译器,那么运行示例应该会这样工作

$ git clone git://github.com/gjtorikian/graphql-idl-parser
$ ./compile

这里是一个通用用法示例

#include "gql-idl-parser.h"

int main()
{
  GraphQLTypes* types = NULL;
  size_t types_len = 0;
  uint8_t err;

  err = gqlidl_parse_schema("# Yeah yeah\nscalar DateTime\ntype OMG {}", &types, &types_len);

  if (err > 0) {
    printf("Error: Return code %d", err);
    exit(err);
  }

  for (size_t i = 0; i < types_len; i++) {
    // ...
  }
}

待办事项

  • 运行 Valgrind

依赖关系

~3–4.5MB
~93K SLoC