gpt4 book ai didi

c - 在运行时启用和禁用 gprof?

转载 作者:太空狗 更新时间:2023-10-29 15:06:52 26 4
gpt4 key购买 nike

我想知道 gprof 中是否有任何 API 可以在运行时启用和禁用受监视应用程序的分析。我感兴趣的是禁用代码某些部分的分析,并使其专注于我感兴趣的部分。我的意思是,有没有办法避免这样做?

int main (void)
{

// disable gprof ?
uninteresting_routine();
// enable gprof ?

interesting_routine();
}

link来自 GCC 网站的提及检测选项似乎不包含对此功能的任何引用。

最佳答案

有一种未记录且隐藏的方法可以在某些系统上运行(至少在某些(如果不是全部的话)glibc 和某些 BSD 版本上)。

$ cat foo.c
extern void moncontrol(int);

static void
foo(void)
{
}

static void
bar(void)
{
}

int
main(int argc, char **argv)
{
moncontrol(0);
foo();
moncontrol(1);
bar();
return 0;
}
$ cc -o foo -pg foo.c && ./foo
$ gprof foo | egrep 'foo|bar'
0.00 0.00 0.00 1 0.00 0.00 bar
[1] 0.0 0.00 0.00 1 bar [1]
[1] bar

Glibc 没有此函数的原型(prototype)或手册页,但它确实存在。

关于c - 在运行时启用和禁用 gprof?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39789310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com