![]() |
Компиляторы С
У меня тут появилась необходимость подучиться программить на С (для встроенных систем), а до этого я только на Delphi программил. Так вот столкнулся с такой проблемой: для С такое огромное множество компиляторов, да к тому же многие компиляторы С++ тоже, вроде, могут и С-код компилировать. Стал вобщем выбирать и застрял. Подскажите пожалуйста есть ли какая-либо существенная разница между ними (для обучения по-меньшей мере) и существует ли "эталонный" компилятор? А может кто объяснит почему вообще их такое количество для одной и той же платформы???:idontnow:
|
Для изучения собственно C/C++ компилятор большого значения не имеет. Язык един (а вот расширения его под каждую из платформ могут быть весьма специфическими).
Учиться лучше сразу на компилляторе, предназначенном под ту программно-аппаратную платформу, для которой собираешься писать - с тем, чтобы вникнуть в специфические расширения. Цитата:
Цитата:
|
С является папой С++. Если компилятор ОЧЕНЬ ОЧЕНЬ старый, то о С++ он ничего не знает.
Между самими языками различий очень мало. Что написано на С будет копилиться в большинстве случаев и в компиляторе с С++ |
Если будешь пользоваться gcc (я - рекомендую) - то используй флаги -ansi -pedantic
С этими флагами будет компилироваться строго C. |
Цитата:
Borland, C и C++ -- это разные языки. У них синтаксис похож. Есть программы на C, которые не компилируются C++ компилятором. |
Ну, в конечном итоге надо будет программировать AVR микроконтроллеры. Я, правда, хотел сначала научиться писать на С в общем. Потому как с языком незнаком абсолютно.
И все-таки непонятно, в чем причина такого количества разных компиляторов для Windows, например. Пытался найти в чем между ними разница, но так толком и не разобрался... |
Цитата:
Цитата:
Основной от M$, существенно от него отстающие интеловский и борландовский и совсем уж маргинальный gcc. Больше ничего в голову не приходит... M$ делает компилятор под свои оси. Intel - оптимизирующие компиляторы под свои процессоры. Borland делает компилятор под свою идеологию разработки (VCL). gcc фактически линуксовый продукт, серьёзный проект под Win в нём собрать проблематично (зато он хорош для кросплатформенного программирования и портирован практически под все ОС). Есть определённые различия между компиляторами в плане языка - т.е. у каждого компилятора свой диалект. |
Цитата:
|
Не занимайся фигней (в смысле поиском лучшего компилятора). На сколько я понял, тебе надо учить C. В зубы книжку Керниган и Ричи и вперед, практически любой компилятор подойдет.
|
JWalker, _http://www.thefreecountry.com/compilers/cpp.shtml
Это только свободные... Почему существует столько свободных (и не только) реализаций? Да потому, что часть из них узкоспециализированные, а часть - просто-напросто порождение тщеславия. "Я могу написать компилятор" - и пишет же. А то, что реально этим компилятором кроме автора пользуется 100, пусть даже 1000 человек во всём мире - автора в общем-то не волнует... Тот же TCC писался как наиболее компактный и наименее ресурсоёмкий компилятор, причём изначально только под Linux. Опять же, "работает под Windows" отнюдь не означает, что на выходе будет программа под Windows... |
попробуй от Intel :yees:
>> http://www.intel.com/cd/software/pro...ers/284132.htm |
Цитата:
Тебе надо Керниггана и Ричи как уже советовали и нормальные дебаггер. Причет последнее обязательно. Dev C++ MS Studio 2005 Express довольно неплохие средства разработки со встроенными дебаггерами. Потому как без дебаггера учиться програмить сложно. |
Это для х86 такой выбор. А для каждой конкретной embedded платформы от как правило сильно меньше. В большинстве случаев - 1. Как правило - GCC. Хотя для х86 он далеко не самый лучший код генерирует.
А вообще - С он и в Африке С. Какая нафиг разница "для встроенных систем" или для ЗС? Глупости все это. Это как "мне нужно овладеть кухонным ножом фирмы Х". Учись владеть ножом, фирма не важна. Удачи! |
Цитата:
|
Кстати, для встроенных систем есть хорошие средства разработки. Я видел Томпсоновскую. Специально оптимизирована под их железо.
Но если языка не знаешь - садиться за такую бесполезно. Сначала по простому, Здравствуй мир и пр. :) |
Нормальный компилятор Builder, это полное подобие Delphi с которым работал человек. И позволяет писать как консольные программы, так и уже существено более серьезные вещи с помощью библиотек компонентов.
|
Часовой пояс GMT +4, время: 00:31. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.