Есть ли способ создать граф вызовов с помощью clang, который может удобно помещаться на странице?
то есть. Дано:
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
cout<<a;
cout<<a;
return 0;
}
I current get
используя:
$ clang++ main.cpp -S -emit-llvm -o - |
opt -analyze -std-link-opts -dot-callgraph
$ cat callgraph.dot | c++filt |
sed 's,>,\\>,g; s,-\\>,->,g; s,<,\\<,g' |
gawk '/external node/{id=$1}$1!=id' | dot -Tpng -ocallgraph.png
(который, кажется, прилагает много усилий, чтобы сделать что-то, что я не ожидал бы так сложно). Я хотел бы получить что-то более разумное на горизонтальной оси. Unflatten
кажется, не имеет никакого влияния (по крайней мере, на этот файл, на другие файлы он, кажется, имеет минимальный эффект).
Есть ли способ гарантировать, что создаваемый файл png
может удобно помещаться на странице (любой стандартный размер)?
Примечание: Код для выше взятого из Сгенерируйте граф вызовов для кода на С++
Обновление: Страница настройки = "8.5,11" дает следующее: