Автор | Сообщение |
|
| постоянный участник
|
Пост N: 16
Зарегистрирован: 13.09.07
|
|
Отправлено: 09.02.09 17:56. Заголовок: Рост размеров программ в harbour
Уже несколько месяцев собирая harbour и свои программы под ним замечаю, что размеры исполняемых модулей растут ( в моем случае около 400к! ). При этом вырасли и размеры библиотек. Например в последней сборки hbrtl.lib у меня 1822720, а в сборке Григория Филатова из последней версии MiniGUI размер этой библиотеки(она у него называется rtl.lib) всего 869376. За счет чего такой рост? Никаких своих изменений в сбоку я не вношу.
|
|
|
Ответов - 4
[только новые]
|
|
|
| модератор
|
Пост N: 942
Зарегистрирован: 25.05.05
|
|
Отправлено: 09.02.09 18:24. Заголовок: leo пишет: За счет ..
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 резко уменьшит размеры библиотек
|
|
|
|
| постоянный участник
|
Пост N: 17
Зарегистрирован: 13.09.07
|
|
Отправлено: 09.02.09 18:42. Заголовок: Григорий большое..
Григорий большое спасибо за совет. Размеры библиотек действительно стали меньше, но размеры исполняемых файлов по-прежнему значительно больше. Для примера сравниваю: в версии 1.0.1 ( Rev/ 9281 ) размер Exe-файла 996352, в ресии 1.1.0 (Rev/ 10207) размер файла 1367040. За счет чего такой рост если ни одной строки в программе не менялось?
|
|
|
|
| модератор
|
Пост N: 943
Зарегистрирован: 25.05.05
|
|
Отправлено: 09.02.09 18:49. Заголовок: leo пишет: За счет ..
leo пишет: цитата: | За счет чего такой рост если ни одной строки в программе не менялось? |
| За счет того, что Харбор версии 1.1.0 стал многопоточным, т.е. существенно переработана его внутренняя архитектура для совместимости с MT-режимом (подробности - в файле harbour\doc\whatsnew.txt)
|
|
|
|
| постоянный участник
|
Пост N: 18
Зарегистрирован: 13.09.07
|
|
Отправлено: 09.02.09 21:28. Заголовок: Большое спасиб..
Большое спасибо Григорий
|
|
|
|