реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Выбор компилятора Си, Для выполнения упражнений из книги K&R
Motion
сообщение Oct 1 2009, 17:58
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 23-07-07
Из: Киев
Пользователь №: 29 297



Добрый день.

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

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

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

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

Вообщем посоветуйте среду для програмирования по книге.
Go to the top of the page
 
+Quote Post
SSerge
сообщение Oct 1 2009, 19:32
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



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


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
kurtis
сообщение Oct 1 2009, 19:47
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



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

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

З.Ы. Если Вы только сели за изучения языка, то скорее всего, Вам будет полезен удобный отладчик (Debugger). Если мне не изменяет память то он есть как в составе Code::Blocks так и Dev-C++.
Go to the top of the page
 
+Quote Post
Quasar
сообщение Oct 1 2009, 19:48
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(Владимир_КПИ @ Oct 1 2009, 21:58) *
Вообще для ARM (LPC2000) использую среду Keil. Можно в ней же и писать и проверять примеры из книги или нужна отдельная программа?


Можно Dev-C++ использовать для изучения, оно на gcc основано http://www.bloodshed.net/devcpp.html
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 1 2009, 19:53
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SSerge @ Oct 1 2009, 22:32) *
Рекомендую старый, ещё ДОС-овский Турбо-С.

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



Цитата(kurtis @ Oct 1 2009, 22:47) *
З.Ы. Если Вы только сели за изучения языка, то скорее всего Вам будет полезен удобный отладчик (Debugger).

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Herz
сообщение Oct 1 2009, 21:41
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(zltigo @ Oct 1 2009, 21:53) *
Трудно придумать что-нибудь столь-же вредное для ИЗУЧЕНИЯ языка, как отладчики.

Вы эту мысль (практически слово в слово) повторяете неоднократно. Позвольте ещё раз спросить, в чём же, по-Вашему, эта вредность?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 1 2009, 21:51
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Herz @ Oct 2 2009, 00:41) *
Позвольте ещё раз спросить...

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Oct 1 2009, 22:12
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Владимир_КПИ @ Oct 1 2009, 20:58) *
К примеру 1-ая программа выводит "Hello World!" в терминале/командной строке/на экране - то есть в Windows - там есть Exe-файл. То есть обычный компилятор ориентированый на Windows создаёт exe-файл, а Keil - hex.

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

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

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Oct 2 2009, 00:05
Сообщение #9


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(kurtis @ Oct 2 2009, 04:47) *
Советую скачать Code::Blocks

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


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Motion
сообщение Oct 2 2009, 06:51
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 23-07-07
Из: Киев
Пользователь №: 29 297



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


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

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

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


И даже если бы программа скопилировала исходных код - то как бы я проверил её? Как и где бы она мне вывела "Hello, World!"?
Go to the top of the page
 
+Quote Post
Hellper
сообщение Oct 2 2009, 07:05
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 13-08-07
Из: Санкт-Петербург
Пользователь №: 29 745



изучать язык по книге K&R не самый эффективный и лучший вариант. данное издание позиционируется как справочник. советую закупить:
Прата С. Язык программирования С. Лекции и упражнения. Вильямс, 2006г. ISBN 5-8459-0986-4, 0-672-32696-5.
Какие ИДЕ и компиляторы использовать под различные ОС, рассказано в первой главе. Из личного опыта, под виндоус, без вариантов, Visual Studio. Дебагер прилагается.


--------------------
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Oct 2 2009, 09:35
Сообщение #12


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(Владимир_КПИ @ Oct 2 2009, 15:51) *
А IDE uVision фирмы Keil подойдёт для обучения по этой книге? Там же есть встроеный С компилятор. Да и в этой же среде я буду писать под МК.

Не надо так пока делать. Разделим мух и котлеты. Со временем, когда будет определенный опыт, можете делать как угодно.
Цитата(Владимир_КПИ @ Oct 2 2009, 15:51) *
Но кнопка "Транслировать" не активна.

И хорошо, что не активна, эта среда не предназначена для создания исполняемых файлов под win32.
Цитата(Владимир_КПИ @ Oct 2 2009, 15:51) *
И даже если бы программа скопилировала исходных код - то как бы я проверил её? Как и где бы она мне вывела "Hello, World!"?

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


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Herz
сообщение Oct 2 2009, 09:55
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(zltigo @ Oct 1 2009, 23:51) *
Ну поскольку уже "неоднократно", то не думаю, что еще один раз чего-либо Вам прояснит sad.gif

Да в том-то и дело, что эту неоднократно высказанную мысль Вы ниразу не подкрепили аргументами. Несмотря на мои неоднократные просьбы. Или я ошибаюсь?
Go to the top of the page
 
+Quote Post
Motion
сообщение Oct 2 2009, 10:24
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 23-07-07
Из: Киев
Пользователь №: 29 297



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

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

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

Теперь по книге буду учить Си и делать всё в этой программе и проверять как консольное приложение. А когда пройду книгу - перейти на IDE uVision и писать программы в ней, но проверять на демоплате?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 3 2009, 10:11
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Владимир_КПИ @ Oct 2 2009, 13:24) *
Запустил - работает.
Off: "Если устройство заработало сразу - выключай и ищи ошибку!" smile.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016