2
我最近一直在用點來創建一個相當複雜的彙編程序的流程圖和調用圖。總而言之,這些工作非常完美,只需要一點點小心。有時候,當從一個集羣內的一個節點向另一個集羣中的另一個節點繪製一條線時,該線以某種方式加倍。點工具雙箭頭
我已經將我的問題的精簡版本添加爲代碼和點輸出圖像。
感謝
digraph G {
ratio=auto; node[fontsize=12]; label="boot"; newrank=true;
{
node[shape=plaintext];
1->2[arrowsize=0.7,penwidth=0.1];
}
Reset->uart_init[arrowsize=0.7, penwidth=0.1];
{ rank=same; "Reset"; "1"; }
{ rank=same; "uart_init"; "2"; }
/* terminalhooks cluster */
subgraph cluster42 {
fontsize=12;
label="terminalhooks.asm";
labelloc=b;
type->emit[arrowsize=0.7,penwidth=0.1];
emit[label=<emit<BR/><FONT POINT-SIZE="8">Terminal redirection hooks<BR/>für eventuelle Umleitungen</FONT>>];
}
/* stm-terminal cluster */
subgraph cluster43 {
fontsize=12;
label="stm-terminal.asm";
labelloc=b;
emit->serial_emit->serial_qemit[arrowsize=0.7,penwidth=0.1];
serial_emit[label=<serial_emit<BR/><FONT POINT-SIZE="8">Ausgabe Char via UART</FONT>>];
serial_qemit[label=<serial_qemit<BR/><FONT POINT-SIZE="8">Prüft TXE (Transmit Buffer Empty)</FONT>>];
}
{ rank=same; "type"; "emit"; "serial_emit"; "serial_qemit"; }
}
出於某種原因,它適用於我的例子,雖然它擰了很多箭頭。但有一些其他圖添加tailport = e甚至增加了另一條線...... – Vinci
@Vinci看看我的編輯。 'newrank'是否必要? –
你是對的,newrank造成它。關鍵是我使用等級和簇來顯示彙編程序文件的封裝......如果不更新函數週圍的框,則不會顯示哪個解釋圖表的方式更難。 – Vinci