# CheckFuncTool **Repository Path**: RapidBird/check-func-tool ## Basic Information - **Project Name**: CheckFuncTool - **Description**: 这是一个通过编译源代码找出c程序中函数调用关系的工具。通过修改open watcom c编译器制作,使用这个工具成功获取过open watcom编译系统中wasm, wcc, wcpp, wlink的函数调用关系。 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-18 - **Last Updated**: 2022-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CheckFuncTool #### 介绍 这是一个通过编译源代码找出c程序中函数调用关系的工具。通过修改open watcom c编译器制作,使用这个工具成功获取过open watcom编译系统中wasm, wcc, wcpp, wlink的函数调用关系。 #### 软件架构 编译器编译的时候会记录每个函数、每个变量在源文件中定义的位置。编译一个函数的时候记录这个函数的源文件名称和行号并为这个函数分配一个唯一标识,编译函数调用时将函数与函数之间的调用关系记录下来。编译完成后分析记录下来的数据得出函数之间的完整调用关系并保存到xml文件中。 #### 安装教程 1. 使用VC2005打开wcc-2005工程编译。或者使用VC2015打开wcc-2015工程编译。 #### 使用说明 1. 安装open watcom到c盘根目录(用来获取编译时需要的系统头文件),运行CheckFunction.exe。 2. 主界面中调用深度表示主函数调用子函数,接着子函数调用子函数的子函数,这种调用层级关系的数目。调用深度为0表示不限制。 3. 主界面中调用次数表示一个函数被多少个其它函数调用。 4. 主界面中小于选项表示输出调用深度等于设置的数目并且调用次数等于设置的数目这样的函数调用关系,还是输出调用深度小于等于设置的数目并且调用次数小于等于设置的数目这样的函数调用关系。 5. 点击分析按钮打开工程源代码所在的文件夹开始编译这个目录下所有.c文件(不包含子目录),成功编译后输出函数调用关系到call.xml文件中,输出函数定义到decl.txt文件中,输出函数调用列表到func.txt文件中。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)