G
Guest
Hi,
I am porting a Visual Studio 6 project to Visual Studio 2005 and am in the
process of determining which optimisation flags to use.
The project builds a server - so "Maximize speed" is the best option.
However this option appears to have a few unpleasant side effects namely
implicitly setting /Oy (frame pointer optimisation) and "Named Return Value
Optimisation" both of which appear to break parts of the server.
After some trial and error and I seem to be able to get what I want setting
"/Og /Oi /Ot /Ob2 /Gs /GF /Gy" i.e. avoiding the \Oy.
However I have teh following questions:
1. /Od is reported as being deprecated. Howver I appear to need to set it to
get optimsiations. /O1, /O2 and /Ox all set /Oy implicitly. Is there a
non-deparecated way of acheiving this?
2. There appears to be no way of switching on or off NRVO other than by /O1,
/O2 or /Ox. Is this the case?
3. 2. implies that /O2 is doing more than teh stated equivialent - what
else does it do?
Simon
I am porting a Visual Studio 6 project to Visual Studio 2005 and am in the
process of determining which optimisation flags to use.
The project builds a server - so "Maximize speed" is the best option.
However this option appears to have a few unpleasant side effects namely
implicitly setting /Oy (frame pointer optimisation) and "Named Return Value
Optimisation" both of which appear to break parts of the server.
After some trial and error and I seem to be able to get what I want setting
"/Og /Oi /Ot /Ob2 /Gs /GF /Gy" i.e. avoiding the \Oy.
However I have teh following questions:
1. /Od is reported as being deprecated. Howver I appear to need to set it to
get optimsiations. /O1, /O2 and /Ox all set /Oy implicitly. Is there a
non-deparecated way of acheiving this?
2. There appears to be no way of switching on or off NRVO other than by /O1,
/O2 or /Ox. Is this the case?
3. 2. implies that /O2 is doing more than teh stated equivialent - what
else does it do?
Simon