crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Оптимизирующий компилятор
Litkevich Yuriy
  опции профиля:
сообщение 27.2.2008, 22:46
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Есть ли бесплатный как GCC, но более эфективный компиллер?
И вообще подобный GCC проект, т.е. бесплатный и поддерживающий множество платформ.

Под эффективностью подразумевается следующее:
  • Более высокая скорость компиляции;
  • Более высокая компактность исполняемого файла
    • Выкидывание (линкером по сути) неиспользуемых кусков кода;
    • В отличие от GCC не засовывание всяких штучек для отладки в код;

По поводу последнего пункта читал, приемущественно для линуксовых платформ, что даже в релиз режиме компиляции, чего-то в код засовывается, может и в виндовозе так.
Например, проект Slax какой-то утилой облегчают бинари, при этом ран-тайм дебагеры типа GDB не в состоянии работать, как я понял, ну и разный, любящий по ковырятся, народ тоже так делает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Andrew Selivanov
  опции профиля:
сообщение 28.2.2008, 12:25
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(Litkevich Yuriy @ 28.2.2008, 11:57) *
Цитата(Andrew Selivanov @ 28.2.2008, 13:49) *
А собственно чем тебя так напрягает вес бинарника?

Мне хочется пользоватся одним инструментом для разных целей, для x86, для AVR, для ARM.
Последний еще не пробывал, но уже работа на подходе, а GNU'тый компиллер весьма не эфективный код дает для AVR (WinAVR на www.sf.net)
Если сравнить с комерческим IAR'ом то примерно в 2 раза больше, а в таких системах как AVR память от 2к до 128к (если брать популярные)
ключ -mtune для AVR неподдерживается, а компилю всегда с ключем -O2 (и сравнеине привел для этого ключа).
с GCC4x еще не пробвал.
Дело в том, что сформировался опрделенный подход при написании программ на С для микроконтроллеров, не только у меня, создавать наборы файлов, что-то вроде библиотек, например функции для работы с контрольными суммами удобно держать в одном файле, те которые не используешь (не вызываешь), комерческие компиляторыне компилят. А когда перешел на GNU'тый, обнаружил, что он все собирает.


А что такое strip?


%GCC_HOME%/bin/strip - утилита, которая удаляет symbol information из бинарника (или опция -s)

Про AVR не могу ничего сказать, я когда то сразу на ассемблере Microchip делал (PIC16F628, 2k под программу), и вообщем то даже так места не хватало...

По поводу как сделать маленький бинарник почитай этот (весьма интересный) тред: http://en.mikrocontroller.net/topic/74054

Сообщение отредактировал Andrew Selivanov - 28.2.2008, 12:27
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.12.2024, 11:01