Релиз библиотеки больше чем дебаг почему?
От: _agg  
Дата: 22.02.17 08:17
Оценка:
Собрал библиотеку log4cplus для статической линьковки дебаг и релиз, удивляет что размер дебаг файла меньше чем релиза кто-нибудь может пояснить как это так?
Re: Релиз библиотеки больше чем дебаг почему?
От: rumit7  
Дата: 22.02.17 08:32
Оценка:
Здравствуйте, _agg, Вы писали:

_>Собрал библиотеку log4cplus для статической линьковки дебаг и релиз, удивляет что размер дебаг файла меньше чем релиза кто-нибудь может пояснить как это так?


опции компиляции для релиз и дебага?
Re: Релиз библиотеки больше чем дебаг почему?
От: Mr.Delphist  
Дата: 22.02.17 08:36
Оценка: +1
Здравствуйте, _agg, Вы писали:

_>Собрал библиотеку log4cplus для статической линьковки дебаг и релиз, удивляет что размер дебаг файла меньше чем релиза кто-нибудь может пояснить как это так?


Агрессивный инлайнинг?
Re[2]: Релиз библиотеки больше чем дебаг почему?
От: _agg  
Дата: 27.02.17 09:11
Оценка:
Здравствуйте, 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"
Re[3]: Релиз библиотеки больше чем дебаг почему?
От: rumit7  
Дата: 27.02.17 10:14
Оценка:
Здравствуйте, _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", которые вроде не должны влиять в релизе..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.