用Graphviz画简单依赖图示例
代码:
digraph module {
0 [label="global.h"];
1 [label="bst_operator.c"];
2 [label="cnf_parser.c"];
3 [label="puzzle2cnf.c"];
4 [label="puzzle_generate.c"];
5 [label="puzzle_main.c"];
6 [label="sat_solver.c"];
7 [label="sat_main.c"];
8 [label="dispay.c"];
node [shape="record"];
9 [label="puzzle_generate.exe"];
10 [label="puzzle_main.exe"];
11 [label="sat_main.exe"];
12 [label="display.exe"];
edge [label="被引用", style="dashed", fontname="Microsoft YaHei"];
{0 6 1} -> 2;
3 -> {4 5};
{0 2 6} -> 7;
{0 1} -> 6;
edge [label="被运行", style="dashed", fontname="Microsoft YaHei"];
{9, 10 11} -> 8;
11 -> {4 5};
edge [label="编译", style="bold", fontname="Microsoft YaHei"];
4 -> 9;
5 -> 10;
7 -> 11;
8 -> 12;
}
编译:
dot -Tsvg source.dot -o picture.svg
source.dot是代码文件,picture.svg是输出的矢量图,也可以将svg改成png输出像素图。
效果:
module
0
global.h
2
cnf_parser.c
0->2
被引用
6
sat_solver.c
0->6
被引用
7
sat_main.c
0->7
被引用
1
bst_operator.c
1->2
被引用
1->6
被引用
2->7
被引用
3
puzzle2cnf.c
4
puzzle_generate.c
3->4
被引用
5
puzzle_main.c
3->5
被引用
9
puzzle_generate.exe
4->9
编译
10
puzzle_main.exe
5->10
编译
6->2
被引用
6->7
被引用
11
sat_main.exe
7->11
编译
8
dispay.c
12
display.exe
8->12
编译
9->8
被运行
10->8
被运行
11->4
被运行
11->5
被运行
11->8
被运行
用Graphviz画简单依赖图示例的更多相关文章
- 使用 Graphviz 画拓扑图
使用 Graphviz 画拓扑图 0)前述 本文着重讲一下 Graphviz 的风格控制,基础一些的就不在这里讲啦. graphviz 的主页是http://www.graphviz.org/. Gr ...
- 利用Graphviz 画结构图[转]
转自:http://www.cnblogs.com/sld666666/archive/2010/06/25/1765510.html 利用Graphviz 画结构图 1. Graphviz介绍 ...
- 利用Graphviz画出图
graphviz官网:http://www.graphviz.org/ 背景:有画图需要,之前见到别人用graphviz画,画出来的图漂亮,且自动帮你排版安排布局,所以自己想尝试用它画. 其中遇到的几 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- hadoop环境安装及简单Map-Reduce示例
说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...
- EasyHook远注简单监控示例 z
http://www.csdn 123.com/html/itweb/20130827/83559_83558_83544.htm 免费开源库EasyHook(inline hook),下面是下载地址 ...
- wxWidgets学习笔记——在屏幕上画简单的图形和文字
在屏幕上画简单图形和显示图片.处理简单鼠标键盘事件 /*************************************************************** * Name: M ...
- Web Service简单入门示例
Web Service简单入门示例 我们一般实现Web Service的方法有非常多种.当中我主要使用了CXF Apache插件和Axis 2两种. Web Service是应用服务商为了解决 ...
随机推荐
- MDK未添加相应芯片的安装包
问题: No Algorithm found for: 00000000H - 00000567HErase skipped!Error: Flash Download failed - " ...
- 【spring】循环依赖 Java Vs Spring
菜瓜:水稻,这次我特意去看了java的循环依赖 水稻:哟,有什么收获 菜瓜:两种情况,构造器循环依赖,属性循环依赖 构造器循环依赖在逻辑层面无法通过.对象通过构造函数创建时如果需要创建另一个对象,就会 ...
- [ 头皮发麻 A1 ] 队内赛3 2020 Ateneo de Manila University DISCS PrO HS Division
都是英语阅读题 但是本菜鸡就过了一题,直接自闭mmp明天开始起床一版题 传送门 B.Riana and the Blind Date 0是闰年?惊了 后来才知道整除被除数可以为0 闰年的计算方法 \( ...
- android handle详解
我们来看一个简单的代码: package com.mly.panhouye.handlerdemo; import android.content.Intent; import android.os. ...
- Python3-threading模块-多线程
什么是线程? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 P ...
- 【思考】URI和URL的区别?以及URL的结构
URI = Universal Resource Identifier URL = Universal Resource Locator 在学习中,我们难免会遇到 URI 和 URL,有时候都傻傻分不 ...
- 深入理解JVM(③)虚拟机的类加载器(双亲委派模型)
前言 先解释一下什么是类加载器,通过一个类的全限定名来获取描述该类的二进制字节流,在虚拟机中实现这个动作的代码被称为"类加载器(Class Loader)". 类与类加载器 类加载 ...
- mybatis源码配置文件解析之四:解析plugins标签
在前边的博客在分析了mybatis解析typeAliases标签,<mybatis源码配置文件解析之三:解析typeAliases标签>.下面来看解析plugins标签的过程. 一.概述 ...
- 浅谈MySQL数据库基本操作
数据库配置 通过配置文件统一配置的目的:统一管理 服务端(mysqld) .客户端(client) 配置了 mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都采用utf8 配置流 ...
- Zookeeper-Access Control List(ACL)
概述 Z K作为一个分布式协调框架.内部存储着一些分布式系统运行时状态的元数据.如何有效的保护这些数据的安全.如何做一个比较好的权限控制显得非常的重要. ZK 为我们提供一套完善的 ACL(acces ...