As a background, I am an open source project developer, C ++ - a library called openframeworks , that is, a shell for different libraries such as opengl, quicktime, freeImage, etc. In the next issue, we added a C ++ library called POCO, which looks like a boost in a sense that it is an alternative to a java type foundation library.
I just noticed that in this latest release, where I added the POCO library as a statically linked library, the .obj files created during the compilation act are really massive - for example, a few .obj files for really small .cpp files - 2 MB each. Common compiled .obj files are about 12 mb or so. On the other hand, exes that are produced are small - from 300 to 1 mb.
For comparison, the same libraries compiled into code :: blocks produce .obj files that are approximately equal in size in exe - they are all quite small.
Is there something with the connection and the .obj process in the visual studio that I don't understand? for example, is it doing some kind of intellectual pre-binding or other thing adding to the size of .obj? I experimented a bit with settings such as incremental binding, etc., and did not see any changes.
try or understand in advance for any ideas!
-zach
Note: thanks! I just tried dumpbin, which says "anonymous object" and does not return information about the object. this may be the reason ...
Note 2, after checking the above link, the removal of LTCG (communication time code generation / GL). Files files are much smaller, and dumpbin understands them. Thanks again!
c ++ visual-studio-2008 visual-studio
zach
source share