The / Zm switch does not change anything about how the code is interpreted, so it does not hide problems in the code, except that it requires a lot of memory.
The switch only tells the compiler about the memory costs that it should plan at compile time. In VS 2013, the default precompiled header buffer size is 75 MB , which is a value that a complex project can reasonably exceed. In such situations, you can use / Zm to increase the limit. Alternatively, you could invest significant work in reducing the complexity of your included files .
In most cases, it is much better to use developer time to increase / Zm.
source share