gpt4 book ai didi

c++ - 当我使用 g++ 使用 -pg 标志编译时,未创建 gmon.out

转载 作者:IT老高 更新时间:2023-10-28 23:02:57 37 4
gpt4 key购买 nike

我在 Mac OSX 版本 10.8.5 (Mountain Lion) 上运行。我有以下简单的 C++ 代码。

main.cpp:

#include <iostream>

int main ()
{
std::cout << "Hello world!"<<std::endl;
std::cout << "Goodbye world!"<<std::endl;
return 0;
}

我正在尝试让 gprof 在我的计算机上工作。作为manual建议,我在终端中输入以下两行:

g++ -g -pg main.cpp -o a.out 
./a.out

然而,这并没有像预期的那样生成 gmon.out 文件。当我尝试在终端中输入 gprof 时,它会说:

gprof: can't open: gmon.out (No such file or directory)

这是意料之中的,因为 gmon.out 不存在...

关于我做错了什么有什么想法吗?

编辑:其他一些可能有帮助的事情:

  • 我的 friend ,他有类似的 OS X 版本(我可以稍后请他确认),以及完全相同版本的 g++gprof,曾经可以如我所述,成功使用 gprof

  • 我使用的是旧版本的 g++,但我在网上看到更新到新版本没有帮助。

  • a.out 完美运行,它打印出 Hello world!Goodbye world!。我还尝试了一个更复杂的 C++ 程序几个类,它仍然有同样的问题。一切编译运行正常,但没有生成gmon.out文件。

最佳答案

您必须意识到 OS X/MacOS 默认不提供系统上的 GNU GCC。

注意这个命令的输出:

ls -la /usr/bin/g++ /usr/bin/clang++

这些可执行文件看起来相同。 (实际上!看起来它们是不同的,但文件大小是相同的!)

据我所知,clang 不支持生成 gprof 输出。尽管可能令人困惑,gcc 程序将运行 clang。

我建议尝试使用自制软件在 OS X/MacOS 上安装 GCC。您确实需要注意它的安装方式等,以便您知道哪个命令对应于哪个编译器。

关于c++ - 当我使用 g++ 使用 -pg 标志编译时,未创建 gmon.out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19826735/

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