|
|
  |
glibc для ARM7, посоветуйте альтернативу |
|
|
|
Dec 8 2005, 16:26
|
Участник

Группа: Свой
Сообщений: 55
Регистрация: 25-08-05
Из: Украина, Харьков
Пользователь №: 7 954

|
Посоветуйте альтернативу glibc. Основное требование - малый размер. Спасибо
|
|
|
|
|
Dec 8 2005, 17:34
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
zltigo, что касается ИАРовских библиотек, то когда я смотрел в своё время исходники для версии 4.20, то уже тогда компилируя отдельные куски с высоким уровнем оптимизации приходил к выводу, что написать вручную на ассемблере короче и быстрее врядли удастся. Тем более, когда речь идёт о простых функциях типа memcpy(). Так вот уже тогда меня всё (или почти всё) устраивало. Когда же вышла версия 4.30 и разработчики клялись, что существенно улучшили библиотеку, а особенно плавающую точку (ускорили почти вдвое!), и когда я собрав достаточно большой проект обнаружил, что он работает, то я понял, что от добра добра не ищут и вместо того, чтобы пытаться выжать дополнительные наносекунды, следует направить усилия на решение поставленных задач полностью (или почти полностью) доверяя компилятору. Тем не менее, не спорю, что изучение исходников дало в плане опыта очень многое. Ведь именно у мастеров и надо учиться.
Прошу прощения если не в тему.
|
|
|
|
|
Dec 8 2005, 18:59
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(IgorKossak @ Dec 8 2005, 19:34)  zltigo, ... написать вручную на ассемблере короче и быстрее врядли удастся. Тем более, когда речь идёт о простых функциях типа memcpy(). Я тоже подозреваю и НАДЕЮСЬ, что не удастся! Закрученнейшие ассемблерные тексты выдает компилятор при высоком уровне оптимизации. Без оптимизации все в лоб, а оптимизированный - руками писать замаешся. Эффективность сего с точки пока оценить не могу, но вид внушает надежды. Хотя, конкретно, на счет memcpy() - ручками играя на пересылках слов+байтов полагаю превзойти. Ну а плавучку переписывать это чистый садомазохизм, да и не нужна она мне на ARM. Теперь ближе теме. Коллеге библиотеки, я думаю, действительно следует перекомпилировать для начала. Из прошлого опыта - их обычно собирают без оптимизационных изысков.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 11 2005, 13:16
|

инженер
   
Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701

|
Цитата(v_shamaev @ Dec 10 2005, 11:20)  В свое время я поступал так (это ещё когда под Watcom-мом ) - критически важные функции выделял в отдельную библиотеку, при нужде - дизассемблировал - перекомпилировал, или писал сам, или в данном случае - можно из чужих библиотек перенести - от CrossWorks, например, и в строке для линкера - первой была эта моя библиотека. Вот-вот, я тоже, прежде всего за самостоятельную сборку библиотеки. Если ОС точно не используется - то задача тривиальная (оставьте только минимум библиотечных модулей для решения Ваших задач). Посмотрите какой из модулей тянет за собой большой хвост (так, например, упоминаемый sprintf требует все операции с плавающей точкой, а если, например float-деление больше нигде не используется - то может быть и sprintf пожертвовать, написав свою функцию преобразования по задаче и т.п.). Если же Вы используете в своей разработке операционную систему - то посложнее. Но и в этом случае можно найти "лишние детали"  в стандартной библиотеке.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|