C/C++项目依赖分析器

cppdep的Python项目详细描述


https://travis-ci.org/rakhimov/cppdep.svg?branch=master'Build status'https://codecov.io/gh/rakhimov/cppdep/branch/master/graph/badge.svgCode Healthhttps://badge.fury.io/py/cppdep.svg

cppdep执行依赖关系分析 在大型C/C++项目之间的组件/包/包组之间。 这是对dep_utils(adep/cdep/ldep)的重写, 由约翰·拉科斯的书提供 《大规模C++软件设计》,Addison Wesley(1996)。

限制

  • 全局变量或函数的间接声明 而不是在声明中包含正确的组件头。
  • 嵌入的动态依赖项, 例如动态加载和可配置的内部服务。
  • 未执行预处理或宏扩展。 不处理通过预处理器meta programming包含的依赖项。
  • 用c风格的多行注释或宏排除依赖关系 不受尊重。

要求

  1. python 2.7或3.4+
  2. NetworkX
  3. 圆点
  4. Pydotplus
  5. 皮亚姆
  6. Pykwalify 1.6.0+

依赖项可以用pip安装。

$ sudo pip install -r requirements.txt

安装

来源:

$ ./setup.py install

pypi的最新稳定版本:

$ pip install cppdep

用法

创建配置文件 描述要分析的项目的。 config_schema.yml用于指导。

在带有配置文件的项目的根目录中, 运行以下命令以生成依赖关系分析报告和图表。

$ cppdep -c /path/to/config/file

更多文档和示例配置 可以在项目wiki中找到。

致谢

  • 约翰·拉科斯发明了这个分析并提供了dep_utils
  • Zhichang Yu用于将dep_utils重写为python。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java转换/分组列表中的值   java无法解析安卓中来自其他类的方法调用?   基于java Socket的通信独立于用于实现它的编程语言。怎么可能?   支持GZip的java编写游戏文件存储?   在IntelliJ中测试应用程序的java设置类路径   java反转单链表   java登录Firebase时出现了什么问题   java如何创建基于Spring4注释的通道?   java将2d矩阵向右旋转   socketTomcat WebSocket和单独的java进程通信   curl无法将数据发布到服务器,获取错误java。木卫一。IOException:服务器返回HTTP响应代码:415   java使用空对象模式消除空对象   java使用<String,Boolean>加载缓存的正确用法?   java为什么是CertificateFactory方法。generateCertifictae(InputStream)卡在无限循环上?