I'm currently working on a Windows application, developed in C++ using Visual Studio and the Intel C++ 15.1 compiler.
It would appear that when I compile with any kind of optimizations, a few additional sections appear in the output executable, increasing the size of it by a significant margin, and possibly introducing information that I would otherwise not rather have in a release build.
Here's an outline of the different optimization options and the section they generate from an empty test application I made which simply prints to the console:
Optimization: Disabled (/Od)
2000 .data 3000 .data1 2000 .rdata 1000 .reloc 12000 .text
Optimization: Minimize Size (/O1)
3000 .data 2000 .data1 3000 .rdata 1000 .reloc A000 .text 1000 .text1 1000 _RDATA
Optimization: Maximize Speed (/O2) or Full Optimization (/Ox) or Highest Optimizations (/O3)
3000 .data 3000 .data1 1000 .debug_o 3000 .rdata 2000 .reloc E000 .text 1000 .text1 1000 _RDATA
I was unable to find any information in regards to those sections in the documentation, so any information as to what their purpose is and whether they can be removed would be greatly appreciated.
Thanks in advance.