Оптимизация кода в fpc-2.2.4

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Оптимизация кода в fpc-2.2.4

Сообщение Сквозняк » 11.06.2009 19:52:55

Версия для линукса. 22% кода скомпилированной программы занимают имена функций и прочая ненужная литература. В предыдущих версиях компилятора для уменьшения веса программ необходимо было в файле fp.cfg прописать ключи -Xs В этом компиляторе они стоят по умолчанию, что ещё нужно сделать для оптимизации скомпилированного кода?
Сквозняк
энтузиаст
 
Сообщения: 1126
Зарегистрирован: 29.06.2006 22:08:32

Re: Оптимизация кода в fpc-2.2.4

Сообщение Sergei I. Gorelkin » 11.06.2009 20:31:23

[Вообще-то это ни к коду, ни к оптимизации не относится. Это отладочная информация.]

Как я замечал, если указан какой-либо из ключей, начинающихся на -g, то ключ -Xs не действует. Так что желательно убедиться в отсутствии -g и подобных.
А может быть, это просто баг. Потому что отладочная информация вроде бы и есть, но отлаживаться не получается. Пересобираешь с -gl -- файл становится еще больше, и тогда отладка начинает работать.
Ну и, конечно, strip этот мусор вполне успешно убирает.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Оптимизация кода в fpc-2.2.4

Сообщение Сквозняк » 11.06.2009 21:16:05

В линуксовом компиляторе нет утилты strip
Удалил все ключи кроме -TLinux -XS и тех что с путями, после запуска -g- опять появился, но он и в 2.2.0 был и не мешал. Файл получился немного меньше но мусор остался. Если это неисправимый баг, то кроме исключительных случаев теряется смысл в новом компиляторе.
Сквозняк
энтузиаст
 
Сообщения: 1126
Зарегистрирован: 29.06.2006 22:08:32

Re: Оптимизация кода в fpc-2.2.4

Сообщение Sergei I. Gorelkin » 11.06.2009 22:53:07

В линуксах утилита strip должна быть в пакете binutils или подобном (т.е. это часть системы), поэтому ее не включают в состав компилятора.
Можно еще ключ -Xg попробовать, если он там вообще есть (я пользуюсь 2.3.1, поэтому не знаю, есть ли он в 2.2.4). Он должен писать отладочную информацию в отдельный файл, про который потом можно забыть...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Оптимизация кода в fpc-2.2.4

Сообщение скалогрыз » 11.06.2009 23:36:27

вопрос для расширения кругозора:

- какие модули компилятора нужно читать/смотреть/изучать, чтобы написать свой кодогенератор?
(например, под платформы dalvick-vm или cell-be)

- какие модули компилятора нужно читать/смотреть/изучать, чтобы написать свой writer?
(для производства исполняемых mach-o файлов под Intel Mac, без участия gnu tools)

полистав статьи от сюда: http://wiki.lazarus.freepascal.org/FPC_internals, лего можно понять, что вся актуальная информация всё-равно находится в сорцах. а может у Macro ещё толковые книжки/статейки есть?

знаю, что вопрос лучше адресовать #fpc-dev, но хочется знать мнение российских разработчиков компилятора :)
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Оптимизация кода в fpc-2.2.4

Сообщение Сквозняк » 12.06.2009 03:21:57

Теперь осталось найти куда включена binutils :D
В 2.3.1 такой проблемы нет? Русские буквы всё также глючат? И где он плохо лежит чтобы скачать, желательно и исходники и пакет для устанвки в каталог пользователя.
Сквозняк
энтузиаст
 
Сообщения: 1126
Зарегистрирован: 29.06.2006 22:08:32

Re: Оптимизация кода в fpc-2.2.4

Сообщение Vadim » 12.06.2009 06:35:41

Сквозняк
binutils находится на Вашем установочном диске с операционной системой. Если Вы не устанавливали GCC, то binutils автоматически тоже не установился (ему просто незачем). Думаю алгоритм ясен :) - вставляете диск с ОС в привод, находите там файл binutils*.rpm (если у Вас rpm-овская система) и устанавливаете...
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Оптимизация кода в fpc-2.2.4

Сообщение Attid » 12.06.2009 13:17:51

а если дебиновская то apt-cache search binutils
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru