cygwin环境下gprof+gprof2dot+dot生成函数关系结构图
在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,这是值得我拓展的地方!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Windows 回復環境 (WinRE) は、Windows オペレーティング システムのエラーを修復するために使用される環境です。 WinRE に入ると、システムの復元、出荷時設定へのリセット、アップデートのアンインストールなどを実行できます。 WinRE を起動できない場合、この記事では問題を解決するための修正方法を説明します。 Windows 回復環境を起動できない Windows 回復環境を起動できない場合は、以下の修正プログラムを使用してください。 Windows 回復環境のステータスを確認する 他の方法を使用して Windows 回復環境に入る Windows 回復パーティションを誤って削除しましたか?以下の Windows のインプレース アップグレードまたはクリーン インストールを実行します。これらすべての修正については詳しく説明しています。 1]Wiをチェックする

この記事では、Python と Anaconda の違いについて学びます。パイソンとは何ですか? Python は、行をインデントし空白を入れることでコードを読みやすく理解しやすくすることに重点を置いたオープンソース言語です。 Python は柔軟性と使いやすさを備えているため、オンライン アプリケーションの作成や開発だけでなく、科学コンピューティング、人工知能、データ サイエンスなどのさまざまなアプリケーションに最適です。 Python はインタープリタ言語であるため、テストされるとすぐに機械語に翻訳されます。 C++ などの一部の言語は、理解するためにコンパイルが必要です。 Python は理解、開発、実行、読み取りが非常に簡単であるため、Python の習熟度は重要な利点となります。これにより Python が作成されます

Linux 用 Windows サブシステム 最初のオプションは、Linux バイナリ実行可能ファイルを Windows システム上でネイティブに実行するための互換性レイヤーである Windows サブシステム for Linux または WSL を使用することです。ほとんどのシナリオで機能し、Windows 11/10 でシェル スクリプトを実行できるようになります。 WSL は自動的には利用できないため、Windows デバイスの開発者設定を通じて有効にする必要があります。これを行うには、[設定] > [更新とセキュリティ] > [開発者向け] に移動します。開発者モードに切り替え、プロンプトを確認して [はい] を選択します。次にWを探します

Windows 11 で環境変数を設定すると、システムのカスタマイズ、スクリプトの実行、アプリケーションの構成に役立ちます。このガイドでは、好みに合わせてシステムを構成できるように、3 つの方法と段階的な手順について説明します。環境変数には 3 つのタイプがあります。 システム環境変数 – グローバル変数は優先順位が最も低く、Windows 上のすべてのユーザーとアプリケーションがアクセスでき、通常はシステム全体の設定を定義するために使用されます。ユーザー環境変数 – 優先度が高く、これらの変数は現在のユーザーとそのアカウントで実行されているプロセスにのみ適用され、そのアカウントで実行されているユーザーまたはアプリケーションによって設定されます。プロセス環境変数 – 最も高い優先順位があり、一時的なもので、現在のプロセスとそのサブプロセスに適用され、プログラムを提供します。

PHP 統合環境パッケージには次のものが含まれます: 1. PhpStorm (強力な PHP 統合環境)、2. Eclipse (オープンソース統合開発環境)、3. Visual Studio Code (軽量のオープンソース コード エディター)、4. Sublime Text (人気のあるテキスト エディター)さまざまなプログラミング言語で広く使用されている; 5. NetBeans、Apache Software Foundation によって開発された統合開発環境; 6. Zend Studio、PHP 開発者向けに設計された統合開発環境。

Laravel 環境構成ファイル .env に関する一般的な問題と解決策 Laravel フレームワークを使用してプロジェクトを開発する場合、環境構成ファイル .env は非常に重要であり、データベース接続情報、アプリケーション キーなど、プロジェクトの主要な構成情報が含まれています。ただし、.env ファイルの構成時に一般的な問題が発生する場合があります。この記事では、これらの問題の紹介と解決策を示し、参照用の具体的なコード例を添付します。問題 1: .env ファイルを構成したときに .env ファイルを読み取れない

Python は高級プログラミング言語であり、クロスプラットフォームで習得が容易で強力な機能があるため、Google や Dropbox などの一部の大企業は開発に Python の使用を選択しています。近年、Web アプリケーションが徐々に主流のアプリケーションになりつつあるため、Python は徐々に Web アプリケーションで好まれる開発言語になってきています。この記事では、Windows システム上に Pyth を含む Python Web 開発環境を構築する方法を紹介します。

Go 言語環境の設定方法: 1. Go 言語コンパイラーをダウンロードし、ダブルクリックしてインストール プログラムを実行します; 2. 使用許諾契約に同意し、[次へ] をクリックします; 3. インストール ディレクトリを設定して [OK] をクリックします; 4. インストールが完了したら, go のインストールディレクトリを変更します。環境変数に bin ディレクトリを追加するだけです。
