使用 -pg 编译时更改 gmon.out 文件的名称 [重复]
Posted
技术标签:
【中文标题】使用 -pg 编译时更改 gmon.out 文件的名称 [重复]【英文标题】:Change the name of gmon.out file when compiling with -pg [duplicate] 【发布时间】:2022-01-12 16:29:44 【问题描述】:是否可以将文件 gmon.out 的默认名称更改为例如 [executable name].gmon.out,该文件是在使用 gcc 编译时设置配置文件标志 (-pg) 时创建的?
我需要这个,因为我有多个可执行文件,它们位于同一目录中,并且必须并行运行。
【问题讨论】:
【参考方案1】:不是那么短,但实际上答案是肯定的——如果使用glibc
(至少使用版本 2.11.1,这是我用来测试的版本)。
要让您的-pg
编译和链接的可执行文件创建不同的名称,而不是默认的gmon.out
,只需将环境变量GMON_OUT_PREFIX
设置为您选择的值,分析输出将写入[value of your choice].[pid]
其中@ 987654326@是分析数据所属进程的进程ID。
【讨论】:
有点晚了,但非常感谢您的回答。我会记住这一点。 :) 你应该真的接受这个答案,另一个根本就是假的。【参考方案2】:简而言之,不。使用 -pg 命令编译程序后,通过运行程序创建的分析文件始终称为 gmon.out。但是,一旦生成,您可以安全地将其重命名为其他名称(例如 foo.bar)并稍后使用以下命令对其进行分析:
gprof test.exe foo.bar > analysis.txt
【讨论】:
感谢您的努力。由于这是不可能的,我现在正在使用 cachegrind 和 valgrind 进行分析。这对我有用。以上是关于使用 -pg 编译时更改 gmon.out 文件的名称 [重复]的主要内容,如果未能解决你的问题,请参考以下文章