我在 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 在我的计算机上工作。正如手册所建议的,我在终端中输入以下两行:
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
不在那里......
关于我做错了什么的任何想法?
编辑:其他一些可能有帮助的事情:
我的朋友,他有一个类似的 OS X 版本(我可以稍后请他确认),以及完全相同的版本
g++
和gprof
,能够gprof
如我所述成功使用。我使用的是旧版本,
g++
但我在网上看到更新到新版本没有帮助。a.out
完美运行,它打印出来Hello world!
并且Goodbye world!
. 我还尝试了一个包含多个类的更复杂的 C++ 程序,但它仍然存在同样的问题。一切正常编译和运行,但没有生成 gmon.out 文件。