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 这些分析开关的适当用途是什么?_Gcc_G++_Profiling_Compiler Flags - Fatal编程技术网

Gcc 这些分析开关的适当用途是什么?

Gcc 这些分析开关的适当用途是什么?,gcc,g++,profiling,compiler-flags,Gcc,G++,Profiling,Compiler Flags,我对GCC还是相当陌生,我想知道如何确切地使用某些评测开关 我已经阅读了关于-ftree-loop-ivcanon和-fivopts的GCC手册条目(这两者都不是-fprofiled generate/use所暗示的),虽然我(相对)对它们的用途有很好的了解,但我不知道应该在哪里使用它们,或者是否应该使用它们 我应该在组合编译中使用这些标志吗 g++Example.cxx-o Example.exe-Wall-ftree loop ivcanon-fivopts 只是汇编 g++Example.

我对GCC还是相当陌生,我想知道如何确切地使用某些评测开关

我已经阅读了关于
-ftree-loop-ivcanon
-fivopts
的GCC手册条目(这两者都不是
-fprofiled generate/use
所暗示的),虽然我(相对)对它们的用途有很好的了解,但我不知道应该在哪里使用它们,或者是否应该使用它们

我应该在组合编译中使用这些标志吗

g++Example.cxx-o Example.exe-Wall-ftree loop ivcanon-fivopts

只是汇编

g++Example.cxx-o Example.o-c-Wall-ftree loop ivcanon-fivopts

还是只是一个链接

g++Example.o-o Example.exe-Wall-ftree循环ivcanon-fivopts

我应该只在启用评测时使用这些标志,还是可以将它们与-On一起使用


最后,如果我在评测时使用了这些,我应该将它们与generate开关或use开关一起使用,还是两者都使用?

据我所知,您只能在编译时使用它们。

据我所知,您只能在编译时使用它们。

-ftree loop ivcanon
-fivopts
仅影响编译,没有链接,但我很确定他们不会做任何事情,除非你启用优化,至少使用
-O

您可能不需要使用它们,只需使用
-O
-O2
-O3
而不是调整单个或更具体的选项,除非您确切地知道您想要实现什么,并且正在测量精确的效果


如果您试图使用配置文件引导优化,那么您肯定希望使用
-O
或更高的优化级别-如果您甚至没有启用内联和持续传播等基本优化,那么基于配置文件数据进行优化完全是浪费时间。

-ftree loop ivcanon
-fivopts
只影响编译,不影响链接,但我很确定它们不会做任何事情,除非您启用优化,至少使用
-O

您可能不需要使用它们,只需使用
-O
-O2
-O3
而不是调整单个或更具体的选项,除非您确切地知道您想要实现什么,并且正在测量精确的效果


如果您试图使用配置文件引导优化,那么您肯定希望使用
-O
或更高的优化级别-如果您甚至没有启用基本优化(如内联和持续传播),则基于配置文件数据进行优化完全是浪费时间。

但在gcc中,默认优化是-O0,因此,如果您不需要特定的优化,则无需指定优化。@neel,我不确定您的意思,但
-O0
禁用所有优化过程。但在gcc中-O0是默认优化,因此如果您不需要特定的优化,则无需指定优化。@neel,我不确定您的意思,但是
-O0
禁用所有优化过程。