Автоматизиране на извикването на 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 при успех/неуспех.