OptimizeCode 代码优化

注意:如果 关闭代码优化 导致构造对象 Crash(或者 new 走不到对象的构造函数),需要检查项目和插件的代码中是否有重名的类,会导致一些奇怪的问题。
在 build.cs 中可以通过 OptimizeCode 来控制是否执行代码优化:

1
OptimizeCode = CodeOptimization.InShippingBuildsOnly; 

有以下几个可选值:

1
2
3
4
5
6
7
8
public enum CodeOptimization  
{
Never,
InNonDebugBuilds,
InShippingBuildsOnly,
Always,
Default,
}

当开启优化时,对翻译单元的编译指令参数:

1
2
3
4
/Ox 
/Ot
/GF
/Zo

并且会使用优化版本的Engine/SharedPCH.Engine.h

当关闭优化时的编译指令为:

1
/Od 

会使用非优化版本的Engine/SharedPCH.Engine.NonOptimized.h.