вторник, 8 декабря 2009 г.

Самостоятельное освоение языка Си

Освоение нового языка программирования может стать сложной задачей, если не "говорить" на нем, не писать программ и проверять новое на практике. На наших занятиях и при подготовке роботов к соревнованиям Евробот мы пользуемся языком Си для программирования микроконтроллеров. Данная практика типична для широкого набора контроллеров, которые доступны на рынке и представляют совершенно разные по функциональным возможностям ниши. Таким образом, знание языка Си необходимо, как воздух, в случае, когда в системе присутствует микроконтроллер (а в роботах и мехатронных устройствах без них никак не обойтись).

Цель сегодняшней статьи - предоставить участникам бюро доступную возможность на ранных этапах осваивать язык Си. Таким образом это позволит, не прибегать к работе с аппаратной частью мира микроконтроллеров до тех пор, пока знания языка не станут достаточными для написания программ.

Каким же образом возможно компилировать программы на языке Си? В первую очередь нам понадобится компилятор. Таковым может стать набор программ и библиотек разработки - MinGW. Программы из этого пакета доступны в виде исходных кодов и в случае необходимости могут работать как  в операционной системе Microsoft Windows, так и в Unix/Linux. Удобство же заключается в том, что MinGW не зависит от сторонних программ (как некоторые варианты других компиляторов и программных сборок).
В нашем случае для установки необходимых программных компонент необходимо воспользоваться программой установки MinGW-5.1.6.exe  (текущая версия на момент написания статьи, может измениться в дальнейшем). Скачав ее и запустив необходимо выбрать пункт "Download and install", "Current" и в меню выбора устанавлеваемых компонент "MinGW base tools". Директория установки может быть любой, но путь к папке и название самой папки не должны содержать пробелы!
Теперь мы готовы к компиляции программ, но остается один необходимый шаг, который позволить другим программам найти наш новый компилятор. Для этого необходимо добавить путь к каталогу bin в папке MinGW в переменную окружения PATH.
Чтобы это сделать заходим в "Панель управления" Windows. Находим значок "Система". Попадаем в окно "Свойства системы" на вкладку "Дополнительно". Жмем "Переменные среды". Находим переменную PATH и в конец!!! строки через ";" пишем путь к директории bin, например, С:\MinGW\bin.
Проверить правильность своих действий можно после этого запустив командную строку Windows и набрав "gcc". Если все верно в ответ будет выдана строка "gcc: no input files".

Мы продолжаем использовать среду разработки (IDE) Code::Blocks для непосредственного написания кода на языке Си (как для микроконтроллеров, так и для текущего обучения языку). Эта среда довольна проста в освоении, но требует некоторой настройки для работы с различными компиляторами. Поэтому остановимся на этом вопросе подробнее.
Для начала настроим правильный вызов компилятора. Для этого в меню выберем "Settings" -> "Compiler and debugger...". В появившемся окне необходимо указать данные согласно рисунку ниже. В пункте 2 необходимо вписать свой путь к директории MinGW, который был использован при установке этого пакета ранее.
Пока, по неустановленным причинам, Code::Blocks при сборке проекта всегда вызывает компилятор С++, даже если код соответствует расширению ".с". Это является причиной некоторых ошибок компиляции, с которыми встретился автор при установке. Если читатель знает в чем причина такого поведения среды разработки, прошу написать об этом в комментариях. Пока же единственной возможностью обойти проблему является указание компилятора gcc.exe в строке "C++ compiler".

Теперь создадим новый проект для обучения языку программирования Си. Для этого в меню "File" выберем "New"->"Project". Нас интересует консольное приложение, поэтому выберем "Console Application". Далее выберем язык C как основной для проекта и укажем где хранить файлы проекта. На странице выбора компилятора необходимо указать данные так, как показано на рисунке ниже.
Теперь мы можем приступать к освоению языка! Code::Blocks даже создал файл для нас и поместил простейший код, который можно скомпилировать и запустить! "Hello world!!!"

Если у читателя возникли вопросы по настройке или предложения по изложенному методу установки программ, буду рад обсудить и то и другое! Пишите в комментариях к этому сообщению.

Удачи в освоении бесконечного океана возможностей языка Си!

Комментариев нет:

Отправить комментарий

ОПРОС - Откуда ты?

ОПРОС - собираетесь ли делать робота для соревнований Евробот 2011?

Создадим сообщество Евробот?