使用-fprofile generate时的gcc宏

使用-fprofile generate时的gcc宏,gcc,pgo,Gcc,Pgo,当指定标志-fprofile generate时,gcc是否定义某种类型的宏?基本上,我想在评测时禁用多线程——它似乎有破坏.gcda文件的方法。这个未回答的问题已经很老了,但我也遇到了类似的问题,所以我希望这对某些人有用 使用多线程应用程序生成的配置文件信息时,应尝试启用-fprofile correctionGCC编译器标志。根据与此标志的相对关系: 由于缺少计数器更新,使用插入指令的二进制文件为多线程程序收集的配置文件可能不一致。当指定此选项时,GCC使用试探法纠正或消除此类不一致。默认情

当指定标志
-fprofile generate
时,gcc是否定义某种类型的宏?基本上,我想在评测时禁用多线程——它似乎有破坏.gcda文件的方法。

这个未回答的问题已经很老了,但我也遇到了类似的问题,所以我希望这对某些人有用

使用多线程应用程序生成的配置文件信息时,应尝试启用
-fprofile correction
GCC编译器标志。根据与此标志的相对关系:

由于缺少计数器更新,使用插入指令的二进制文件为多线程程序收集的配置文件可能不一致。当指定此选项时,GCC使用试探法纠正或消除此类不一致。默认情况下,当检测到不一致的概要文件时,GCC会发出错误消息


它将通过纠正由于多线程而导致的不一致的配置文件值来消除指示.gcda文件已损坏的错误。

运行与“正常”加载/配置不同的配置文件没有什么意义。@vonbrand Eh,如果我能让代码按原样运行,你认为我会麻烦吗?