首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Graphviz as a library:创建多个图会导致错误

Graphviz as a library:创建多个图会导致错误
EN

Stack Overflow用户
提问于 2013-06-06 20:14:23
回答 2查看 386关注 0票数 3

我正在创建一个小的C程序,它需要创建多个图形。这些图的点在字符串中,所以我使用agmemread而不是agread (我想避免创建临时文件)。但是,当多次调用agmemread时,它似乎会中断。

下面的示例输出"error2",因此在第二次调用agmemread时失败

代码语言:javascript
运行
复制
#include <gvc.h>

int main() {
  Agraph_t *g1 = agmemread("graph testgraph {\n\n}");

  if (!g1) {
    printf("error1\n");
    return 1;
  }

  agclose(g1);

  Agraph_t *g2 = agmemread("graph testgraph {\n\n}");

  if (!g2) {
    printf("error2\n");
    return 1;
  }

  agclose(g2);
  return 0;
}

在一个真实的例子中,当然在这些部分之间会有更多的代码。

在第二次调用agmemread之前,我需要释放或关闭任何东西吗?或者它是一个graphviz的Bug?我在Mac上使用graphviz: stable 2.30.1, devel 2.31.20130523.0446

同样的例子也适用于agread,但效果却很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-18 05:46:49

这是agmemread()中的一个bug。从2013年6月18日开始,修复程序应该出现在包中。感谢您的报道。

票数 2
EN

Stack Overflow用户

发布于 2013-06-14 05:22:24

在每个图的闭合"}“后添加"\n”可以解决此问题。我仍然在调查为什么语法上需要这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16961826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档