Перейти к содержанию
    

Выбор компилятора Си

Добрый день.

 

Решил изучать Си по книге "Язык прогрммирования С" Брайан Керниган, Деннис Ритчи. Для выполнения 1-го упражнения необходим редактор исходного кода, компилятор и т.д. То есть набор программ для работы. В книге написано консультироватся у специалистов по этому поводу. Учу Си, чтобы использывать для написания программ для ARM.

 

Вообще для ARM (LPC2000) использую среду Keil. Можно в ней же и писать и проверять примеры из книги или нужна отдельная программа?

 

Keil транслирует код Си в hex (машинный язык). А как же я тогда буду проверять примеры?

 

К примеру 1-ая программа выводит "Hello World!" в терминале/командной строке/на экране - то есть в Windows - там есть Exe-файл. То есть обычный компилятор ориентированый на Windows создаёт exe-файл, а Keil - hex.

 

Вообщем посоветуйте среду для програмирования по книге.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендую старый, ещё ДОС-овский Турбо-С. Несоответствие стандарту С99 на первых порах не актуально, а научиться пользоваться можно за час. И никакие графические и прочие виндовые особенности не отвлекают от pure C, проще потом перейти к микроконтроллерам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Советую скачать Code::Blocks или Dev-C++. Оба являются IDE (что самое по себе удобно), но и включают в своей поставке свободный (читай бесплатный) компилятор языков Си и Си++ в достаточно актуальном состоянии (с высокой долей вероятности, будет поддерживать последние изменения в языке).

 

Еще есть бесплатная версия Microsoft Studio Express, я с ней не сталкивался, но вроде люди хвалят.

 

З.Ы. Если Вы только сели за изучения языка, то скорее всего, Вам будет полезен удобный отладчик (Debugger). Если мне не изменяет память то он есть как в составе Code::Blocks так и Dev-C++.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще для ARM (LPC2000) использую среду Keil. Можно в ней же и писать и проверять примеры из книги или нужна отдельная программа?

 

Можно Dev-C++ использовать для изучения, оно на gcc основано http://www.bloodshed.net/devcpp.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендую старый, ещё ДОС-овский Турбо-С.

Упаси бог. Дивной кривизны и древности вещь. Жуткие диалекты, несоблюдение стандартов, жуткая обработка ошибок ...Любой свободно распространяемый компилятор,например, OpenWatcom. Делать консольные приложения и вперед.

Вообще вопрос о компиляторах поднимался многократно.

 

 

 

З.Ы. Если Вы только сели за изучения языка, то скорее всего Вам будет полезен удобный отладчик (Debugger).

Трудно придумать что-нибудь столь-же вредное для ИЗУЧЕНИЯ языка, как отладчики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Трудно придумать что-нибудь столь-же вредное для ИЗУЧЕНИЯ языка, как отладчики.

Вы эту мысль (практически слово в слово) повторяете неоднократно. Позвольте ещё раз спросить, в чём же, по-Вашему, эта вредность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Позвольте ещё раз спросить...

Ну поскольку уже "неоднократно", то не думаю, что еще один раз чего-либо Вам прояснит :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К примеру 1-ая программа выводит "Hello World!" в терминале/командной строке/на экране - то есть в Windows - там есть Exe-файл. То есть обычный компилятор ориентированый на Windows создаёт exe-файл, а Keil - hex.

 

Вообщем посоветуйте среду для програмирования по книге.

В принципе среда ИАР в режиме отладки под симулятором выводит сообщения в окно терминала.

Потом не придется и компилятор менять.

 

А если сразу поставить оптимизацию повыше, то в режиме отладки не сильно и понятно будет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Советую скачать Code::Blocks

+1. IDE не такая уж и убогая, не смотря на бесплатность. Ее можно и с другими компиляторами использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В принципе среда ИАР в режиме отладки под симулятором выводит сообщения в окно терминала.

Потом не придется и компилятор менять.

 

А IDE uVision фирмы Keil подойдёт для обучения по этой книге? Там же есть встроеный С компилятор. Да и в этой же среде я буду писать под МК.

 

Но как там писать? Создал новый проэкт, отказался от выбора целевого устройства, добавил в проэкт заранее написаный в блокноте файл с программой с расширением .с.

 

Но кнопка "Транслировать" не активна.

post-29297-1254465977_thumb.jpg

 

И даже если бы программа скопилировала исходных код - то как бы я проверил её? Как и где бы она мне вывела "Hello, World!"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

изучать язык по книге K&R не самый эффективный и лучший вариант. данное издание позиционируется как справочник. советую закупить:

Прата С. Язык программирования С. Лекции и упражнения. Вильямс, 2006г. ISBN 5-8459-0986-4, 0-672-32696-5.

Какие ИДЕ и компиляторы использовать под различные ОС, рассказано в первой главе. Из личного опыта, под виндоус, без вариантов, Visual Studio. Дебагер прилагается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А IDE uVision фирмы Keil подойдёт для обучения по этой книге? Там же есть встроеный С компилятор. Да и в этой же среде я буду писать под МК.

Не надо так пока делать. Разделим мух и котлеты. Со временем, когда будет определенный опыт, можете делать как угодно.

Но кнопка "Транслировать" не активна.

И хорошо, что не активна, эта среда не предназначена для создания исполняемых файлов под win32.

И даже если бы программа скопилировала исходных код - то как бы я проверил её? Как и где бы она мне вывела "Hello, World!"?

Вам уже выше рекомендовали CodeBlocks или OpenWatcom. Скачайте любой, установите и не мучайтесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну поскольку уже "неоднократно", то не думаю, что еще один раз чего-либо Вам прояснит :(

Да в том-то и дело, что эту неоднократно высказанную мысль Вы ниразу не подкрепили аргументами. Несмотря на мои неоднократные просьбы. Или я ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам уже выше рекомендовали CodeBlocks или OpenWatcom. Скачайте любой, установите и не мучайтесь.

Скачал и установил Code:Blocks. Создал новый проэкт, выбрал "Console application". Стёр стандартную программу и написал свою. Запустил - работает.

 

Не надо так пока делать. Разделим мух и котлеты. Со временем, когда будет определенный опыт, можете делать как угодно.

Теперь по книге буду учить Си и делать всё в этой программе и проверять как консольное приложение. А когда пройду книгу - перейти на IDE uVision и писать программы в ней, но проверять на демоплате?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запустил - работает.
Off: "Если устройство заработало сразу - выключай и ищи ошибку!" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...