Собрал библиотеку log4cplus для статической линьковки дебаг и релиз, удивляет что размер дебаг файла меньше чем релиза кто-нибудь может пояснить как это так?
Здравствуйте, rumit7, Вы писали:
R>опции компиляции для релиз и дебага?
DEBUG: /MP /GS /analyze- /W3 /Gy /Zc:wchar_t /I"..\include" /I"..\threadpool" /I"..\catch\single_include" /Zi /Gm- /Od /sdl /Fd"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\bin.Debug_Unicode\log4cplusSUD.c.pdb" /fp:precise /D "LOG4CPLUS_STATIC" /D "_DEBUG" /D "DEBUG" /D "WIN32" /D "_WIN32_WINNT=0x0600" /D "WINVER=0x0600" /D "INSIDE_LOG4CPLUS" /D "LOG4CPLUS_WITH_UNIT_TESTS=1" /D "CATCH_CONFIG_PREFIX_ALL=1" /D "_SCL_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "_USING_V110_SDK71_" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /GF /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\obj.log4cplusS.Debug_Unicode\" /EHsc /nologo /Fo"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\obj.log4cplusS.Debug_Unicode\" /Fp"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\obj.log4cplusS.Debug_Unicode\log4cplusS.pch"
RELEASE:/MP /GS- /GL /analyze- /W3 /Gy /Zc:wchar_t /I"..\include" /I"..\threadpool" /I"..\catch\single_include" /Zi /Gm- /O2 /Ob2 /Fd"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\bin.Release_Unicode\log4cplusSU.c.pdb" /fp:precise /D "LOG4CPLUS_STATIC" /D "NDEBUG" /D "_SECURE_SCL=0" /D "_HAS_ITERATOR_DEBUGGING=0" /D "WIN32" /D "_WIN32_WINNT=0x0600" /D "WINVER=0x0600" /D "INSIDE_LOG4CPLUS" /D "LOG4CPLUS_WITH_UNIT_TESTS=1" /D "CATCH_CONFIG_PREFIX_ALL=1" /D "_SCL_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "_USING_V110_SDK71_" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /GF /WX- /Zc:forScope /Gd /Oy /Oi /MD /Fa"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\obj.log4cplusS.Release_Unicode\" /EHsc /nologo /Fo"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\obj.log4cplusS.Release_Unicode\" /Ot /Fp"D:\Programming\log4cplus-2.0.0-rc1\msvc14\Win32\obj.log4cplusS.Release_Unicode\log4cplusS.pch"
Здравствуйте, _agg, Вы писали:
_>Здравствуйте, rumit7, Вы писали:
R>>опции компиляции для релиз и дебага?
В таком случае, я бы тупо сравнил две строки с опциями и почесал бы затылок на тему отличия:
/Ot — msdn:maximizes the speed of .exe files and DLLs by instructing the compiler to favor speed over size;
/Oi — msdn:Programs that use intrinsic functions are faster because they do not have the overhead of function calls, but may be larger because of the additional code created;
/Ob2 — msdn:Controls inline expansion of functions. 2 — Allows expansion of functions marked as inline, __inline, or __forceinline, and any other function that the compiler chooses.
Каждый из выше перечисленных пунктов может влиять на размер, какой из них в Вашем случае мне тяжело судить.
PS Ну еще есть /D "_SECURE_SCL=0" /D "_HAS_ITERATOR_DEBUGGING=0", которые вроде не должны влиять в релизе..