Форум » [x]Harbour » Рост размеров программ в harbour » Ответить

Рост размеров программ в harbour

leo: Уже несколько месяцев собирая harbour и свои программы под ним замечаю, что размеры исполняемых модулей растут ( в моем случае около 400к! ). При этом вырасли и размеры библиотек. Например в последней сборки hbrtl.lib у меня 1822720, а в сборке Григория Филатова из последней версии MiniGUI размер этой библиотеки(она у него называется rtl.lib) всего 869376. За счет чего такой рост? Никаких своих изменений в сбоку я не вношу.

Ответов - 4

gfilatov: leo пишет: За счет чего такой рост? За счет использования ключа -gc3 в файле common.mak для сборки Харбора с настройками по умолчанию: ... #********************************************************** # Harbour Compiler Flags #********************************************************** HBFLAGSCMN = -i$(INCLUDE_DIR) -q0 -w3 -es2 -km -l !if "$(HB_BUILD_DEBUG)" == "yes" HBFLAGSDBG = -l- !endif !if "$(HB_BUILD_WINCE)" == "yes" HBFLAGSPLT = -D__PLATFORM__WINCE !else HBFLAGSPLT = -gc3 !endif HARBOURFLAGSLIB= -n1 $(HBFLAGSCMN) $(HBFLAGSDBG) $(HBFLAGSPLT) $(HB_USER_PRGFLAGS) HARBOURFLAGSEXE= -n $(HBFLAGSCMN) $(HBFLAGSDBG) $(HBFLAGSPLT) -gc0 $(HB_USER_PRGFLAGS) ... Замена этого ключа на -gc0 резко уменьшит размеры библиотек

leo: Григорий большое спасибо за совет. Размеры библиотек действительно стали меньше, но размеры исполняемых файлов по-прежнему значительно больше. Для примера сравниваю: в версии 1.0.1 ( Rev/ 9281 ) размер Exe-файла 996352, в ресии 1.1.0 (Rev/ 10207) размер файла 1367040. За счет чего такой рост если ни одной строки в программе не менялось?

gfilatov: leo пишет: За счет чего такой рост если ни одной строки в программе не менялось? За счет того, что Харбор версии 1.1.0 стал многопоточным, т.е. существенно переработана его внутренняя архитектура для совместимости с MT-режимом (подробности - в файле harbour\doc\whatsnew.txt)


leo: Большое спасибо Григорий



полная версия страницы