跳到主要内容

夕阳打伐

· 阅读需 2 分钟

吸氧大法的实质:

吸氧大法的本质是更改编译器为GCC并使用部分内置指令以达到加速的目的,例如使用"Ofast""inline"等

但对于本身就是使用GCC进行编译的OJ平台(例如luogu)使用吸氧大法会CE

但是如果去掉"GCC",也就是不更改编译器类别,则洛谷也可以正常使用(然鹅并没有任何意义就是了)

#pragma GCC optimize( 2 )
#pragma GCC optimize( 3 )
#pragma GCC optimize( "Ofast" )
#pragma GCC optimize( "inline" )
#pragma GCC optimize( "-fgcse" )
#pragma GCC optimize( "-fgcse-lm" )
#pragma GCC optimize( "-fipa-sra" )
#pragma GCC optimize( "-ftree-pre" )
#pragma GCC optimize( "-ftree-vrp" )
#pragma GCC optimize( "-fpeephole2" )
#pragma GCC optimize( "-ffast-math" )
#pragma GCC optimize( "-fsched-spec" )
#pragma GCC optimize( "unroll-loops" )
#pragma GCC optimize( "-falign-jumps" )
#pragma GCC optimize( "-falign-loops" )
#pragma GCC optimize( "-falign-labels" )
#pragma GCC optimize( "-fdevirtualize" )
#pragma GCC optimize( "-fcaller-saves" )
#pragma GCC optimize( "-fcrossjumping" )
#pragma GCC optimize( "-fthread-jumps" )
#pragma GCC optimize( "-funroll-loops" )
#pragma GCC optimize( "-fwhole-program" )
#pragma GCC optimize( "-freorder-blocks" )
#pragma GCC optimize( "-fschedule-insns" )
#pragma GCC optimize( "inline-functions" )
#pragma GCC optimize( "-ftree-tail-merge" )
#pragma GCC optimize( "-fschedule-insns2" )
#pragma GCC optimize( "-fstrict-aliasing" )
#pragma GCC optimize( "-fstrict-overflow" )
#pragma GCC optimize( "-falign-functions" )
#pragma GCC optimize( "-fcse-skip-blocks" )
#pragma GCC optimize( "-fcse-follow-jumps" )
#pragma GCC optimize( "-fsched-interblock" )
#pragma GCC optimize( "-fpartial-inlining" )
#pragma GCC optimize( "no-stack-protector" )
#pragma GCC optimize( "-freorder-functions" )
#pragma GCC optimize( "-findirect-inlining" )
#pragma GCC optimize( "-fhoist-adjacent-loads" )
#pragma GCC optimize( "-frerun-cse-after-loop" )
#pragma GCC optimize( "inline-small-functions" )
#pragma GCC optimize( "-finline-small-functions" )
#pragma GCC optimize( "-ftree-switch-conversion" )
#pragma GCC optimize( "-foptimize-sibling-calls" )
#pragma GCC optimize( "-fexpensive-optimizations" )
#pragma GCC optimize( "-funsafe-loop-optimizations" )
#pragma GCC optimize( "inline-functions-called-once" )
#pragma GCC optimize( "-fdelete-null-pointer-checks" )