1. 编译。 gcc -pg -g test.c -shared -o libtest.so gcc -pg -g main.c -L./ -ltest -o test 2. 运行程序。 ./test 3. 分析数据。 gprof -b test 结果: Each sample counts as 0.01 seconds. no time accumulated % cumulative self self totao time seconds seconds calls Ts/call Ts/ca...
基本原理: 首先用户要使用gprof工具,必须在GCC编译该文件的选项中添加-pg选项,然后GCC会在用户应用程序的每一个函数中加入一个名为mcount(或者是_mcount、__mcount,这依赖于编译器或操作系统)的函数,即应用程序中每一个函数都要调用mcount函数,而mcount函数使用后会在内存中保存函数调用图,并通过函数调用堆栈的...
sun8i-t113.dtsi文件根据硬件原理图只改了rmii的引脚配置: rmii_pe_pins: rmii-pe-pins { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG12", "PG13", "PG14", "PG15"; function = "emac"; }; sun8i-t113-mangopi-dual.dts文件内容如下: // SPDX-License-Identifier:...
1.编译。 gcc -pg -g test.c -shared -o libtest.so gcc -pg -g main.c -L./ -ltest -o test 2.运行程序。 ./test 3.分析数据。 gprof -b test 结果: Each sample counts as 0.01 seconds. no time accumulated %cumulativeselfselftotal timesecondssecondscallsTs/callTs/callname … 前面的分...
所谓的profiling,就是分析程序中的各个函数的调用次数和运行时间,以找到程序的热点,为优化程序提供依据。gcc的profiling功能更强大一点,它还可以显示调用关系(call graph)。它的用法如下: 1.编译/链接时加-pg标志。 gcc -pg -g main.c test.c -o test ...
sun8i-t113.dtsi文件根据硬件原理图只改了rmii的引脚配置: rmii_pe_pins: rmii-pe-pins { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG12", "PG13", "PG14", "PG15"; function = "emac"; }; sun8i-t113-mangopi-dual.dts文件内容如下: // SPDX-License-Identifier:...
sun8i-t113.dtsi文件根据硬件原理图只改了rmii的引脚配置: rmii_pe_pins: rmii-pe-pins { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG12", "PG13", "PG14", "PG15"; function = "emac"; }; sun8i-t113-mangopi-dual.dts文件内容如下: // SPDX-License-Identifier:...