【发布时间】:2011-10-13 06:41:07
【问题描述】:
我目前使用 C++ 使用 boost::graph 进行一些与图形相关的计算。 boost::graph 可以将其图形输出为点文件,我使用 std::stringstream 来捕获输出点文件。因此点文件的内容驻留在内存中。
我想使用点文件来可视化图形(尽可能快)。因此,我想生成点文件,生成 svg 文件并将其打印到某个画布上。我想避免为此使用临时文件,因为图形应该很小并且内存仍然可用。
然而,graphviz libgraph 只有函数extern Agraph_t *agread(FILE *);,我能想到的唯一方法是在文件句柄struct __FILE 中进行修改,这真的是不可移植的。
在 Unix/linux 中,如何让库将内存内容作为文件读取?
我刚刚发现来自 GraphViz 的 libcgraph 允许在此处输入重载版本,但到目前为止,文档并没有为我指出一些有用的地方。
【问题讨论】:
标签: c graphviz boost-graph