c - 使用 -pg 编译的 gcc 不会生成 gprof 所需的二进制文件

标签 c gcc compiler-construction performance-testing gprof

我遇到了一个小问题,需要一些帮助。我想在一些 OpenMP 和 MPI 混合代码上运行 gprof 作为我测试的一部分。我知道 gprof 依赖于使用 -pg 开关编译 gcc(或 mpicc)时创建的二进制文件。

我已尝试添加此开关并且我的编译成功(因为没有报告错误),但是,未创建二进制文件,但正常创建了可执行文件。我还尝试在使用 pthread 的更简单的代码上执行此操作,结果相同。

请检查以下内容,让我听听您的想法。

gcc -pg --std=gnu99 -pthread -Wall -o pthreadsv0 pthreads.c

最佳答案

我怀疑您提到的二进制文件实际上是配置文件数据文件( gmon.out ),它是在您运行程序(必须使用 -pg 标志编译)时生成的。只需执行您的程序,看看是否有 gmon.out文件在那里。

关于c - 使用 -pg 编译的 gcc 不会生成 gprof 所需的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572772/

相关文章:

c - 如何在 C 函数中返回 `realloc` 数组

c - MISRA C :2012 rule 21. 1 与 C11 矛盾吗?

C编程。 FizzBu​​zz 程序

c++ - 我试过 : valgrind, _GLIBCXX_DEBUG,-fno-strict-aliasing;我该如何调试这个错误?

c++ - 返回指向类成员函数的指针

compiler-construction - Io Language 无法构建 : Foundation/Foundation. h:没有这样的文件或目录

ios - 没有冲突类别方法的警告

c++ - 使用 g++ 编译 C++ 文件时出错

c - STM32L0读出保护示例代码?

c++ - Binder 和 variadic 模板最终出现段错误