Why is compiled dll size larger with Express?

I compiled a VC++ 6 project with VC++ Express 2005, and the resulting dll is about 60kb. When compared to VC++ 6, the size is 29kb. I'm concerned about things being in the dll that I don't want. Does anybody know why this happens, and if there is something I can do to slim it down again

Answer this question

Why is compiled dll size larger with Express?

  • Vladimir Chtepa

    You find this options under the Project settings:

    General (Use of ATL/MFC)
    C++ Codegeneration (Enable function level linking) + (Runtime library)
    Linker Optimizations (References) (COMDAT folding)



  • Marco Foco

    It is because 2005 runtime is ~55KB. You can try to do not use runtime or link with a runtime DLL.

  • Zath

    Jeez, I don't know. I'm not into low-level compile options, etc. I just use the default settings (I compile as Release). I don't even know what that stuff means, and where to find it in the options.
  • Christopher J

    Sure that the same compiler settings are used

    Check if you defined /Gy for the compiler (Function-Level Linking), Check if the linker settings /OPT:REF and /OPT:ICF (Referenbces and Enable COMDAT folding) are set.

    CRT linking flags set on both to use DLL

    Both compiled under Release



  • Why is compiled dll size larger with Express?