我知道我应该使用-pg开关并运行编译的程序,但是它不起作用。我正在玩cpuminer源代码,以学习有关Intel内在函数和向量化的知识,而不是硬币。要知道cpuminer在哪里花费了大部分运行时间。在运行配置之前,我将-pg开关添加到CFLAGS。我可以看到gcc在编译过程中使用了它,例如:

    gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -maes -Wall -O0 -g -pg -MT crypto/minerd-c_blake256.o -MD -MP -MF crypto/.deps/minerd-c_blake256.Tpo -c -o crypto/minerd-c_blake256.o `test -f 'crypto/c_blake256.c' || echo './'`crypto/c_blake256.c


但是当我运行exec时,没有gmon.out文件出现。

您能提示我在哪里检查/查看吗?

只需在程序停止运行时读取写入gmon.out的地方即可。但是我的永不停止。我用^ C杀死了它-也许它阻止了gmon.out的编写?是否有更好的方式停止运行该程序,从而编写gmon.out

最佳答案

答案是:
Saving gmon.out before killing a process

也非常适合我。感谢大家。

关于c - 如何使gcc为gprof生成信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30556117/

10-15 06:42