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,给大家推荐一下。

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

           

  • 相关阅读:
    MVC系列14-后台我的文章页
    MVC系列-13.前台文章显示页
    MVC系列-12.项目的重新规划
    MVC系列-11.两表联合-发表文章
    MVC系列-10.用户验证-导航条改造
    百思不得姐第4天:文本框占位文字颜色
    swift学习:自定义Log
    swift学习第十六天:懒加载和tableView
    swift学习第十五天:闭包
    swift学习第十四天:属性监听器
  • 原文地址:https://www.cnblogs.com/greenteaone/p/1804778.html
Copyright © 2011-2022 走看看