Здравствуйте, Уважаемый Jurgis
Thu Jun 15 2006 15:06, Jurgis Armanavichius wrote to Olga Nonova:
ON>> Для той архитектуры процессоров, что Вы используете, мозги вместо ON>> "регистров" придется забить кучей отступлений от стандарта Си, массой ON>> трудноусвояемых и опять же нестандартных аттрибутов и новых ключевых ON>> слов, осваивать вместо stdio.h и stdlib.h какие-то нестандартные ON>> библиотеки лично под данный кристалл, а в некоторых случаях лазить ON>> в исходники компилятора, чтобы поправить стартапы.
JA> Лазить в исходники компилятора чтобы править стартапы - это круто! :-)))
Hу, Вам виднее куда там надо лазить, в какие такие недра компилятора. Видно не впервой.
JA> А как быть с моим случаем, когда я стартап совсем не правлю, использую JA> стандартный? В чем куча отступлений от стандарта Си? Я, например, уже JA> давно использую тот же самый файл с классом расчета CRC как для программы JA> на PC, так и для двух разных микроконтроллеров. Что я делаю не так?
Hе так Вы делаете одно- решаете какую-то простенькую задачку, не требующую от ЯВУ никаких его преимуществ за исключением простоты набора исходного текста, и думаете при этом, что и у всех столь же примитивно. Вот это-то и не так. Hапример, если бы Вы работали со строками то сразу обнаружили бы, что ничего из stdlib.h практически нельзя использовать всвязи с абсолютно варварским использованием SRAM. Ваши 4K AT128 закончились бы мгновенно, не успев даже начаться. Пришлось бы обращаться к нестандартным библиотекам, которые работают со строками, не загружая CONST заготовки в ОЗУ. А это уже поперла специфика, на нее тратится время и мозги. Да и вообще, все const заготовки, не только строки,- это уже проблема и оступление от стандарта Си в случае хранения кодов во флэш. Только не надо мне рассказывать, что у хороших компиляторов все это предусмотрено внутре и создано куча аттрибутов. Главное здесь - это нестандарт, а значит- увеличение time to market и проблемы с переносимостью и сопровождением.
ON>> Между тем, когда в кристалле все ресурсы для программы выглядят ON>> только как ОЗУ, у них никаких проблем с программированием на Си ON>> не возникает. И только для таких кристаллов можно что-то рассуждать ON>> об эффективности компилятора, его удобстве и прочих общеизвестных ON>> фичах ЯВУ. А для AVR-ов и PIC-ов все полезности гробит нестандартность ON>> используемого Си, которая увеличивает самое главное в нашей жизни- ON>> time to market.
JA> А почему в моем случае (кристаллы AVR) никаких ужасных страхов от JA> использования C/C++ не наблюдается? ;-)
Потому, что решаете примитивные задачи примитивными же средствами.
JA> А time to market гораздо больше гробится от необходимости писать JA> в 5 - 10 раз бОльший объем текста программы.
Так и скажите: "не умею работать в макроассемблере, ничего не знаю про макросы, никогда не создавал собственной среды програмирования"- вот, это будет правдивая информация от Вас. А то сразу "в 5 - 10 раз"!
Всего Вам Хорошего Ольга