Автоматизиране на извикването на graphviz от командния ред

Graphviz е помощна програма за команден ред за генериране на графични диаграми въз основа на текстови описания на възли и ръбове. От статията ще научите как програмно да извикате graphiz с посочените параметри в C ++, да прочетете изходния и връщащия код на извиканата помощна програма. Методът може да се използва изолирано от Graphviz, тук той е взет за пример.

Инсталиране на graphviz

За да получите graphviz на Windows, трябва:

  • инсталирайте Graphviz от MSI пакета от сайта graphviz.org
  • добавете пътя към Graphviz към системната променлива PATH (пълен път до поддиректорията Graphviz2.38 \ bin в програмните файлове)

За Ubuntu ще ви трябва:

След инсталацията проверете дали graphviz работи с прост пример:

Автоматизиране на обаждането до Graphviz

За автоматизация се нуждаем от междуплатформен начин за стартиране на външен процес от C ++. Например функциите popen/pclose функционират от стандарта POSIX.

В Windows името на функцията popen е променено на _popen. Това може лесно да се поправи с препроцесор:

макрос за отваряне/затваряне

Използвайки примера от документацията (msdn.microsoft.com), можете да внедрите функция за изпълнение на произволна команда, отпечатване на изхода в конзолата и връщане на true/false при успех/неуспех.