zoukankan      html  css  js  c++  java
  • 画程序函数框图心得

           最近一直在画程序中函数的框图,一开始以为很简单的,慢慢的才发现它的繁琐与复杂,极其考验人的毅力和耐心以及认真程度。

           首先找出主程序中用到的各个函数,然后按照调用顺序画出这些函数之间的关系框图。图1是VP8编码main函数中调用的函数。

        编码main函数调用的函数

                                           图1 vp8编码main函数调用函数框图

          接下来就是把图1中每一个函数调用的函数也全部找出来,并画出清晰的框架图,这样我们就能够清晰的看见程序的构架,更容易理解程序的执行过程。

          开始找函数的时候,以为自己看程序找就行,于是就设置断点,单步运行,查看程序运行到哪个函数,但是这样做了一段时间发现,速度很慢,而且有些条件不满足时会落掉一些函数。是不是有比较简单的方法呢?问过了好多人后,终于知道有一款软件——soure Insight,就带有抽取函数的功能。

          于是安装soure Insight,然后执行project ——new project——把自己的程序添加到新建的工程中——选择要分析的函数——点击工具栏上面的Relation Window图标,就可以显示出当前函数调用的所有函数。

          如图2查找函数关系图:

         

                                                                      图2查找函数关系图

        在看程序的时候还遇到一个问题,在vs2005里面竟然没法看到成对的{} ,由于程序比较庞大,所以很难找到结束的}。  开始的时候也是按部就班的看程序,一句一句的找,但是这样很容易找错 ,因为}太多了,很难找到匹配的。最后在朋友的帮忙下,知道有款软件看程序特别方便,在这个软件中成对的{}都有标记的。    这个软件就是UltraEdit,给大家推荐一下。

        以上两款软件,都是相当不错的读程序软件。

           

  • 相关阅读:
    [jdk] JDK1.5新特性
    [maven] maven介绍
    [Ant] bulid.xml配置详解
    [spring] spring面试题
    .net(C#)时间相减、C#计算时间间隔
    如何记录应用程序日志
    交换机、集线器、路由器区别和使用浅谈
    ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行
    .NET 4中Entity Framework简介
    WCF传输性能测试
  • 原文地址:https://www.cnblogs.com/greenteaone/p/1804778.html
Copyright © 2011-2022 走看看