|
TASKING, PARADIGM ..., Приглашение к обмену опытом |
|
|
|
May 28 2004, 21:16
|

Помогу, чем смогу
     
Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25

|
Так исторически сложилось, что "настоящим" С-компилятором я все время считал тот, с которого начинал - это Borland C (ранее Turbo C). Когда круг задач модифицировался в Embedded, продолжаю использовать модификацию Borland C++ 5.02 под названием Paradigm C++. Его приходится применять, если задачи требуют x86 машинок. 8-битные всегда ранее программировал на ассемблере, а несколько лет назад перешел на Tasking, который так же могу назвать "настоящим" С-компилятором. Во-первых, при портировании кода на другую машинку и переходя на этот компилятор с "честных" С-приложений, не возникает никаких трудностей. Во-вторых, что часто бывает очень важно при обработке сигналов, "честная" поддержка арифметики с плавающей точкой.
Какие средства разработки вы используете, если проекты выходят за рамки одного семейства процессоров? Заботит ли вас, как и меня переносимость исходного кода на другие процессоры, отличающиеся разрядностью, архитектурой и пр.?
--------------------
|
|
|
|
|
 |
Ответов
|
Oct 7 2004, 16:16
|
Группа: Свой
Сообщений: 12
Регистрация: 7-10-04
Пользователь №: 812

|
Насчет "ансишности" и пр. не соглашусь, большинство существующих компиляторов вполне "ансевые", другое дело, что ANSI накладывает некоторые ограничения, потому данный режим не все использовать любят (опять же, если используются готовые исходники, "не совсем ANSI", то приходится крутиться). Я тут уже сегодня упостился просто, наверное  Мы используем GCC для ARM и вполне довольны. Что касается оптимизации ассемблерной "ручками". Это смотря какой компилятор использовать. Ничего не хочу плохого сказать про борландовские продукты для 86 архитектуры, но способности компиляторов к оптимизации кода сейчас на порядок выше наших  Например, под ARM ассемблерный код ваять дело неблагодарное - четырехступенчатый конвеер оптимально загрузить нетривиальная задача, в итоге получаем пошаговое выполнение инструкций с минимальной скоростью, в этом плане компилятор работу лучше делает - можете сравнить сгенерированный код, задав опции -O0 и -O2 для компилятора gcc-го (как раз мы бы писали как в случае с -O0). Опять же, по размеру оптимизацию тоже предпочитаю отдавать на откуп компиляторам, поумнели они нынче
|
|
|
|
|
Nov 28 2004, 09:05
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(cd_racer @ Oct 7 2004, 19:16) Что касается оптимизации ассемблерной "ручками". Это смотря какой компилятор использовать. Ничего не хочу плохого сказать про борландовские продукты для 86 архитектуры, но способности компиляторов к оптимизации кода сейчас на порядок выше наших  Например, под ARM ассемблерный код ваять дело неблагодарное - четырехступенчатый конвеер оптимально загрузить нетривиальная задача, в итоге получаем пошаговое выполнение инструкций с минимальной скоростью, в этом плане компилятор работу лучше делает - можете сравнить сгенерированный код, задав опции -O0 и -O2 для компилятора gcc-го (как раз мы бы писали как в случае с -O0). Опять же, по размеру оптимизацию тоже предпочитаю отдавать на откуп компиляторам, поумнели они нынче  Паазвольте не согласиться по поводу оптимизации и ваяния асм кода. Во первых, у арма 7 конвеер 3х ступенчатый, а во вторых, про оптимальную загрузку конвеера особливо думать и не надо - потеря производительности получается при неизвестном заранее адресе следующего кода (например операции перехода с условием). Ну и в третьих, попробовал сравнить скорость выполнения кода написанного ручками и скорость выполнения кода откомпилированного ИАР (High Speed) - как ни крутил, "ручной" код выполняется быстрее сишного.
|
|
|
|
Сообщений в этой теме
one_man_show TASKING, PARADIGM ... May 28 2004, 21:16 Diman_Y Цитата(one_man_show @ May 29 2004, 12:16 AM)Т... Jun 1 2004, 15:19 one_man_show 100% согласен, только я стараюсь платформозависимы... Jun 2 2004, 12:44 vvv Я переносил С код с PIC(8bit) на MSP430(16bit) и C... Jun 17 2004, 11:46 one_man_show Полностью согласен с тем, что многие компиляторы д... Jun 17 2004, 20:35 Hmm Цитата(one_man_show @ May 29 2004, 12:16 AM)З... Jun 28 2004, 21:07 one_man_show Hmm
Спасибо за продолжение обсуждения.
Цитатапосл... Jun 29 2004, 16:23 IgorKossak Работаю с несколькими типами МК.
Ради совместимост... Jul 8 2004, 13:46 one_man_show Со всем согласен. Сожалел о неансишности, т.к. час... Oct 7 2004, 20:12 Серокой Собрал GCC под ARM, Хочу спросить, как пользоватьс... Nov 25 2004, 10:23 IgorKossak Цитата(Серокой @ Nov 25 2004, 01:23 PM)Собрал... Nov 25 2004, 12:44 Серокой Спасибо. Это выход. Nov 25 2004, 13:41 Slavik Цитата(one_man_show @ May 29 2004, 00:16)Каки... Nov 29 2004, 09:16 Armen Цитата(Slavik @ Nov 29 2004, 13:16)Цитата(one... Mar 2 2005, 10:52 stremglav И все же, на ассемблере оптимально писать обработк... Feb 3 2005, 12:19
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|