说明

该例程提供了一种方法,可以找出程序大部分时间都花在哪些方面。参数buf指向内核的bufsiz字节。每隔10毫秒,将检查用户的程序计数器(PC):减去偏移量,并将结果乘以比例并除以65536。如果结果值小于bufsiz,则buf中的相应条目将递增。如果buf为NULL,则禁用分析。

PROFIL - Linux手册页

Linux程序员手册 第3部分
更新日期: 2017-09-15

遵循规范

类似于SVr4中的呼叫(但不包括POSIX.1)。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
profil()Thread safetyMT-Unsafe

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

语法

#include <unistd.h>

int profil(unsigned short *buf, size_t bufsiz,
           size_t offset, unsigned int scale);

Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):

profil():

Since glibc 2.21:
        _DEFAULT_SOURCE
    In glibc 2.19 and 2.20:
        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
    Up to and including glibc 2.19:
        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

另外参见

gprof(1),sprof(1),setitimer(2),sigaction(2),signal(2)

名称

profil -执行时间配置文件

返回值

始终返回零。

BUGS

profil()不能在还使用ITIMER_PROF间隔计时器的程序上使用(请参阅setitimer(2))。

真正的内核配置文件可提供更准确的结果。 Libc 4.4包含提供系统调用配置文件的内核补丁。

日期:2019-08-20 18:01:00 来源:oir作者:oir