imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 15.08.2007, 15:59     # 1
JWalker
Junior Member
 
Аватар для JWalker
 
Регистрация: 08.06.2005
Адрес: Рыжа
Пол: Male
Сообщения: 95

JWalker МолодецJWalker МолодецJWalker Молодец
Компиляторы С

У меня тут появилась необходимость подучиться программить на С (для встроенных систем), а до этого я только на Delphi программил. Так вот столкнулся с такой проблемой: для С такое огромное множество компиляторов, да к тому же многие компиляторы С++ тоже, вроде, могут и С-код компилировать. Стал вобщем выбирать и застрял. Подскажите пожалуйста есть ли какая-либо существенная разница между ними (для обучения по-меньшей мере) и существует ли "эталонный" компилятор? А может кто объяснит почему вообще их такое количество для одной и той же платформы???
__________________
Born to lose, Live to win...
JWalker вне форума  
Старый 15.08.2007, 16:44     # 2
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 375

Borland - Гад и сволочь
Для изучения собственно C/C++ компилятор большого значения не имеет. Язык един (а вот расширения его под каждую из платформ могут быть весьма специфическими).
Учиться лучше сразу на компилляторе, предназначенном под ту программно-аппаратную платформу, для которой собираешься писать - с тем, чтобы вникнуть в специфические расширения.
Цитата:
Сообщение от JWalker Посмотреть сообщение
многие компиляторы С++ тоже, вроде, могут и С-код компилировать.
Все могут. C явсяется подмножеством C++.
Цитата:
Сообщение от JWalker Посмотреть сообщение
существует ли "эталонный" компилятор?
Вообще - нет. Но, например, для Wintel эталоном является Intel C++ Compiller, а для *NIX - gcc (который, собственно, существует и в версии под Win).
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума  
Старый 15.08.2007, 18:11     # 3
Inside
Newbie
 
Регистрация: 07.08.2007
Сообщения: 13

Inside Нуль без палочки
С является папой С++. Если компилятор ОЧЕНЬ ОЧЕНЬ старый, то о С++ он ничего не знает.
Между самими языками различий очень мало. Что написано на С будет копилиться в большинстве случаев и в компиляторе с С++
Inside вне форума  
Старый 15.08.2007, 20:17     # 4
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
Если будешь пользоваться gcc (я - рекомендую) - то используй флаги -ansi -pedantic
С этими флагами будет компилироваться строго C.
Drakosha вне форума  
Старый 17.08.2007, 01:03     # 5
PinGUIWin
Junior Member
 
Аватар для PinGUIWin
 
Регистрация: 08.11.2006
Адрес: Quantizer
Сообщения: 67

PinGUIWin Путь к славе только начался
Цитата:
Сообщение от JWalker Посмотреть сообщение
подучиться программить на С (для встроенных систем)
А можно по подробнее? Это может быть существенно.

Borland, C и C++ -- это разные языки. У них синтаксис похож. Есть программы на C, которые не компилируются C++ компилятором.
__________________
Matrix has you...
PinGUIWin вне форума  
Старый 17.08.2007, 20:21     # 6
JWalker
Junior Member
 
Аватар для JWalker
 
Регистрация: 08.06.2005
Адрес: Рыжа
Пол: Male
Сообщения: 95

JWalker МолодецJWalker МолодецJWalker Молодец
Ну, в конечном итоге надо будет программировать AVR микроконтроллеры. Я, правда, хотел сначала научиться писать на С в общем. Потому как с языком незнаком абсолютно.
И все-таки непонятно, в чем причина такого количества разных компиляторов для Windows, например. Пытался найти в чем между ними разница, но так толком и не разобрался...
__________________
Born to lose, Live to win...
JWalker вне форума  
Старый 17.08.2007, 20:37     # 7
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 375

Borland - Гад и сволочь
Цитата:
Сообщение от PinGUIWin Посмотреть сообщение
Есть программы на C, которые не компилируются C++ компилятором.
Ага. И есть программы на С++, которые компилируются, к примеру, только в Borland C++ Builder и ни в какую - в Visual C++... Это просто частичная несовместимость диалектов языка...
Цитата:
Сообщение от JWalker Посмотреть сообщение
в чем причина такого количества разных компиляторов для Windows, например
Да разве ж их много?
Основной от M$, существенно от него отстающие интеловский и борландовский и совсем уж маргинальный gcc. Больше ничего в голову не приходит...
M$ делает компилятор под свои оси. Intel - оптимизирующие компиляторы под свои процессоры. Borland делает компилятор под свою идеологию разработки (VCL). gcc фактически линуксовый продукт, серьёзный проект под Win в нём собрать проблематично (зато он хорош для кросплатформенного программирования и портирован практически под все ОС).
Есть определённые различия между компиляторами в плане языка - т.е. у каждого компилятора свой диалект.
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума  
Старый 18.08.2007, 00:04     # 8
JWalker
Junior Member
 
Аватар для JWalker
 
Регистрация: 08.06.2005
Адрес: Рыжа
Пол: Male
Сообщения: 95

JWalker МолодецJWalker МолодецJWalker Молодец
Цитата:
Да разве ж их много?
Те, что ты назвал + LCC, TCC, Miracle C Compiler...это только те о которых я слышал. Правда я не понимаю в чем между ними разница
__________________
Born to lose, Live to win...
JWalker вне форума  
Старый 18.08.2007, 00:21     # 9
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
Не занимайся фигней (в смысле поиском лучшего компилятора). На сколько я понял, тебе надо учить C. В зубы книжку Керниган и Ричи и вперед, практически любой компилятор подойдет.
Drakosha вне форума  
Старый 18.08.2007, 00:24     # 10
Borland
СуперМод
IMHO Консультант 2005-2009
 
Аватар для Borland
 
Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 375

Borland - Гад и сволочь
JWalker, _http://www.thefreecountry.com/compilers/cpp.shtml
Это только свободные...
Почему существует столько свободных (и не только) реализаций? Да потому, что часть из них узкоспециализированные, а часть - просто-напросто порождение тщеславия. "Я могу написать компилятор" - и пишет же. А то, что реально этим компилятором кроме автора пользуется 100, пусть даже 1000 человек во всём мире - автора в общем-то не волнует... Тот же TCC писался как наиболее компактный и наименее ресурсоёмкий компилятор, причём изначально только под Linux.
Опять же, "работает под Windows" отнюдь не означает, что на выходе будет программа под Windows...
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила!
Распространенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

В. Высоцкий

Borland вне форума  
Старый 05.09.2007, 05:20     # 11
DAKnn
Guest
 
Сообщения: n/a

попробуй от Intel
>> http://www.intel.com/cd/software/pro...ers/284132.htm
 
Старый 07.09.2007, 19:37     # 12
Melkor
Full Member
 
Аватар для Melkor
 
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941

Melkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царстве
Цитата:
Сообщение от JWalker Посмотреть сообщение
Ну, в конечном итоге надо будет программировать AVR микроконтроллеры.
Для AVR есть вроде GCC-AVR (WinAVR кажется тоже зовут).
Тебе надо Керниггана и Ричи как уже советовали и нормальные дебаггер.
Причет последнее обязательно.
Dev C++
MS Studio 2005 Express
довольно неплохие средства разработки со встроенными дебаггерами.
Потому как без дебаггера учиться програмить сложно.
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения!
М.Фрай
Melkor вне форума  
Старый 20.09.2007, 22:47     # 13
tonynays
Guest
 
Сообщения: n/a

Это для х86 такой выбор. А для каждой конкретной embedded платформы от как правило сильно меньше. В большинстве случаев - 1. Как правило - GCC. Хотя для х86 он далеко не самый лучший код генерирует.

А вообще - С он и в Африке С. Какая нафиг разница "для встроенных систем" или для ЗС? Глупости все это. Это как "мне нужно овладеть кухонным ножом фирмы Х". Учись владеть ножом, фирма не важна.

Удачи!
 
Старый 22.09.2007, 13:57     # 14
gimmick
Guest
 
Сообщения: n/a

Цитата:
Сообщение от Borland Посмотреть сообщение
Все могут. C явсяется подмножеством C++.
Это не так. Да, С++ сохранил бОльшую часть совместимости с С, но некоторые возможности C в нем не поддерживаются, т.о. он не является надмножеством C. Примеры - объявление функций в старом стиле, кастинг pointer-to-void в pointer-to-type и т.п. Для обучения, на мой взгляд, самый лучший, т.к. у него можно выставить -ansi -Wall -pedantic, что хорошо учит культуре кода имхо. Хотя, по скорости под Win32 я все же предпочитаю Microsoft Compiler...
 
Старый 24.09.2007, 11:52     # 15
AlgualKi
Junior Member
 
Регистрация: 24.06.2007
Сообщения: 121

AlgualKi Путь к славе только начался
Кстати, для встроенных систем есть хорошие средства разработки. Я видел Томпсоновскую. Специально оптимизирована под их железо.
Но если языка не знаешь - садиться за такую бесполезно. Сначала по простому, Здравствуй мир и пр.
AlgualKi вне форума  
Старый 04.10.2007, 12:56     # 16
Vov_St
Banned
 
Аватар для Vov_St
 
Регистрация: 15.12.2005
Сообщения: 30

Vov_St Мелкий засранец
Нормальный компилятор Builder, это полное подобие Delphi с которым работал человек. И позволяет писать как консольные программы, так и уже существено более серьезные вещи с помощью библиотек компонентов.
Vov_St вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:58.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.