Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gcc 使用-pg编译时更改gmon.out文件的名称_Gcc_Profiling_Gprof - Fatal编程技术网

Gcc 使用-pg编译时更改gmon.out文件的名称

Gcc 使用-pg编译时更改gmon.out文件的名称,gcc,profiling,gprof,Gcc,Profiling,Gprof,是否可以将使用gcc编译时设置概要文件标志(-pg)时创建的文件gmon.out的默认名称更改为,例如,[executable name].gmon.out 我之所以需要它,是因为我有多个可执行文件,它们位于同一个目录中,并且必须并行运行。简言之,不需要。使用-pg命令编译程序后,通过运行程序创建的分析文件始终称为gmon.out。但是,一旦生成,您可以安全地将其重命名为其他名称(例如foo.bar),然后使用以下命令对其进行分析: gprof test.exe foo.bar > ana

是否可以将使用gcc编译时设置概要文件标志(-pg)时创建的文件gmon.out的默认名称更改为,例如,[executable name].gmon.out


我之所以需要它,是因为我有多个可执行文件,它们位于同一个目录中,并且必须并行运行。

简言之,不需要。使用-pg命令编译程序后,通过运行程序创建的分析文件始终称为gmon.out。但是,一旦生成,您可以安全地将其重命名为其他名称(例如foo.bar),然后使用以下命令对其进行分析:

gprof test.exe foo.bar > analysis.txt

不是很短,但实际上答案是肯定的-如果使用
glibc
(至少是2.11.1版,这是我用来测试的版本)


要让您的
-pg
编译并链接的可执行文件创建不同的名称,然后使用默认的
gmon.out
,只需将环境变量
gmon\u out\u PREFIX
设置为您选择的值,分析输出将写入
[您选择的值].[pid]
其中
[pid]
是分析数据所属进程的进程ID。

感谢您的努力。因为这是不可能的,所以我现在使用cachegrind和valgrind进行评测。这对我来说是可行的。有点晚了,但非常感谢你的回答。我会记住的。:)你真的应该接受这个答案,另一个答案完全是错误的。