Gcc 这些分析开关的适当用途是什么?
我对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.
-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
禁用所有优化过程。