![]() ![]() There are multiple other optimizations applied by the compiler, as described in /O Options (Optimize Code) MSDN docs. As a result of this optimization the debugger cannot reliably obtain a variable value as you are stepping through the code. ![]() This affects not only the code speed, but it also affects debugging. The most obvious difference between optimized and unoptimized builds in Visual C++ is the fact the variable values are kept in registers as long as possible in optimized builds, while without optimizations they are always stored into the memory. Once you turn on the optimizations, the compiler applies many different techniques to make the code run faster while still doing the same thing. ![]() The Debug builds have optimizations disabled by default, because without the optimizations the produced executable matches the source code in a straightforward manner. Without optimizations the compiler produces very dumb code - each command is compiled in a very straightforward manner, so that it does the intended thing. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |