在linux环境下利用gcc/g编译链接代码的时候,加入-pg选项,在执行文件后就会生成gmon.out,gmon.out记录了函数在cpu运行的时间和被哪些函数调用的次数,关于gprof的使用和原理说明可以参数这两篇文章《linux下的程序分析工具——gprof 》、《Linux性能评测工
在linux环境下利用gcc/g++编译链接代码的时候,加入-pg选项,在执行文件后就会生成gmon.out,gmon.out记录了函数在cpu运行的时间和被哪些函数调用的次数,关于gprof的使用和原理说明可以参数这两篇文章《linux下的程序分析工具——gprof 》、《Linux性能评测工具之一:gprof篇》。步骤如下:
1.gcc -Wall -pg test.c -o test
2../test.exe (由于我是在windows环境下用cygwin的,所以生成有exe后缀)
3.gprof -b ./test.exe >report.txt
生成的flat profile和call graph如图1。
图1
从图1中可以看出gprof生成的都是文字描述,我们可以利用gprof2dot.py脚本把数据转化成dot格式,再利用dot生成一张函数关系图。
cygwin配置环境要求下:
1.安装python。
2.gprof2dot.py(网上有得下载),下载后放在/bin/目录就可以了。
3.安装graphviz,直接搜索graphviz,如图2,然后安装。
图2
gprof2dot默认是部分函数调用图,如果要显示全部的函数调用关系,可以用gprof2dot -n0 -e0。默认的设置可以直接参数gprof2dot.py,截图如图3。
图3
安装好之后,执行如下命令:
gprof -b ./test.exe|gprof2dot.py |dot -Tpng -o test.png或者
python /bin/gprof2dot.py report.txt | dot -Tpng -o test.png
这就生成了一张函数关系图了,如图4。
图4
以上都是今天下午的学习成果,总结了网上一些文章所说的和自己动手实践成果。但是我一点都不懂graphviz和dot,这是值得我拓展的地方!

Windows恢复环境(WinRE)是用于修复Windows操作系统错误的环境。进入WinRE后,您可以执行系统还原、出厂重置、卸载更新等操作。如果无法引导到WinRE,本文将指导您使用修复程序解决此问题。无法引导到Windows恢复环境如果无法引导至Windows恢复环境,请使用下面提供的修复程序:检查Windows恢复环境的状态使用其他方法进入Windows恢复环境您是否意外删除了Windows恢复分区?执行Windows的就地升级或全新安装下面,我们已经详细解释了所有这些修复。1]检查Wi

在本文中,我们将了解Python和Anaconda之间的差异。Python是什么?Python是一种开源语言,非常重视使代码易于阅读并通过缩进行和提供空白来理解。Python的灵活性和易于使用使其非常适用于各种应用,包括但不限于对于科学计算、人工智能和数据科学,以及创造和发展的在线应用程序。当Python经过测试时,它会立即被翻译转化为机器语言,因为它是一种解释性语言。有些语言,比如C++,需要编译才能被理解。精通Python是一个重要的优势,因为它非常易于理解、开发,执行并读取。这使得Pyth

适用于 Linux 的 Windows 子系统第一种选择是使用适用于 Linux 或 WSL 的 Windows 子系统,这是一个兼容层,用于在 Windows 系统上本地运行 Linux 二进制可执行文件。它适用于大多数场景,允许您在 Windows 11/10 中运行 shell 脚本。WSL 不会自动可用,因此您必须通过 Windows 设备的开发人员设置启用它。您可以通过转到设置 > 更新和安全 > 对于开发人员来完成。切换到开发人员模式并通过选择是确认提示。接下来,查找 W

php集成环境包有:1、PhpStorm,功能强大的PHP集成环境;2、Eclipse,开放源代码的集成开发环境;3、Visual Studio Code,轻量级的开源代码编辑器;4、Sublime Text,受欢迎的文本编辑器,广泛用于各种编程语言;5、NetBeans,由Apache软件基金会开发的集成开发环境;6、Zend Studio,为PHP开发者设计的集成开发环境。

在Windows11上设置环境变量可以帮助您自定义系统、运行脚本和配置应用程序。在本指南中,我们将讨论三种方法以及分步说明,以便您可以根据自己的喜好配置系统。有三种类型的环境变量系统环境变量–全局变量处于最低优先级,可由Windows上的所有用户和应用访问,通常用于定义系统范围的设置。用户环境变量–优先级越高,这些变量仅适用于在该帐户下运行的当前用户和进程,并由在该帐户下运行的用户或应用程序设置。进程环境变量–具有最高优先级,它们是临时的,适用于当前进程及其子进程,为程序提供

Laravel环境配置文件.env的常见问题及解决方法在使用Laravel框架开发项目时,环境配置文件.env是非常重要的,它包含了项目的关键配置信息,如数据库连接信息、应用密钥等。然而,有时候在配置.env文件时会出现一些常见问题,本文将针对这些问题进行介绍并提供解决方法,同时附上具体的代码示例供参考。问题一:无法读取.env文件当我们配置好了.env文件

go语言环境配置方法:1、下载go语言的编译器,双击运行安装程序;2、接受许可协议,点击next;3、设置安装目录,点击OK;4、安装完成后,将go安装目录下的bin目录添加环境变量中即可。

一键删除Conda环境:快速清理无用环境的技巧随着数据科学和机器学习的快速发展,使用Python进行开发和分析的需求也越来越强烈。Conda作为一种流行的Python包管理器和环境管理工具,被广泛应用于项目开发和环境配置中。然而,随着时间的推移,我们常常会在计算机上留下许多无用的Conda环境,这不仅浪费了磁盘空间,还可能导致环境混乱和不必要的麻烦。本文将介


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Linux new version
SublimeText3 Linux latest version

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 English version
Recommended: Win version, supports code prompts!
