我正在创建一个需要创建多个图形的小型 C 程序。这些图的点在一个字符串中,所以我使用agmemread
而不是agread
(我想避免创建临时文件)。agmemread
但是,多次调用时似乎会中断。
以下示例输出“error2”,因此第二次调用时失败agmemread
:
#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的一个错误?我graphviz: stable 2.30.1, devel 2.31.20130523.0446
在 Mac OS X 上使用。
相反,同一个例子agread
就像一个魅力。