Компиляторы языка C и первая программа на C

Hello, World! — это пример, с которого начинают обучение почти все программисты. Этот пример впервые появился в классической книге по языку C The C Programming Language (Second Edition) (KR2), написанной одним из её авторов. Позже он распространился по всему миру, и до сих пор это первое учебное задание практически для любого языка программирования.

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

Перед написанием кода на C нужно скачать компилятор: Download i686-8.1.0-release-win32-sjlj-rt_v6-rev0.7z (MinGW-w64 — for 32 and 64 bit Windows). Что такое компилятор?

Что такое компилятор?

Компьютер понимает только двоичные числа 0 и 1, он не распознаёт код, написанный человеком на C/C++, Python, Java и других языках. Компилятор — это инструмент-переводчик: он преобразует весь читаемый человеком код высокого уровня за один раз в машинный код, исполняемый напрямую процессором CPU (бинарный файл exe).

Другими словами, компилятор превращает написанный человеком код C в последовательность команд из нулей и единиц, понятных компьютеру. Только эти машинные инструкции может выполнять процессор. Без компилятора ваш код C ничем не отличается от обычного текстового файла. Можно сказать, что суть каждого языка программирования — это его собственный компилятор; все правила и синтаксис языка реализованы именно через компилятор.

Скачайте компилятор для Windows по ссылке выше. Примечание: компилятор cc используется только в системах Unix, а на Windows мы работаем с GCC.

Существующие компиляторы языка C

1 GCC

Полное название GNU Compiler Collection, свободный открытый код, поддерживает C/C++/Objective-C, кроссплатформенный (Windows/Linux/macOS).

MinGW-w64 — это набор инструментов, в который входит компилятор GCC.

2 Clang (LLVM)

Построен на архитектуре LLVM, является стандартным компилятором Apple для macOS/iOS, также может быть установлен на Windows.

3 MSVC

Microsoft Visual C++, собственный официальный компилятор Microsoft для Windows, поставляется вместе с Visual Studio, также совместим с Qt.

Консольный инструмент: cl.exe

4 Tiny C Compiler

Позволяет запускать код C напрямую без генерации exe-файла (работает как скриптовый язык).

Существуют и другие компиляторы C, мы не перечисляем их здесь; некоторые устарели и больше не используются, например Turbo C.

На этапе обучения можно сначала использовать gcc из пакета MinGW-w64, позже перейти на MSVC с Visual Studio для разработки на C.

Установка MinGW

Если ссылка для скачивания выше не работает, используйте эту: Download MinGW-w64 — for 32 and 64 bit Windows

После загрузки распакуйте архив:

Папка после распаковки MinGW

Внутри вы увидите файл gcc.exe — это наш компилятор, его размер всего 1,77 МБ.

Скопируйте всё содержимое в отдельную директорию, например путь автора: D:\mingw64, можно выбрать другой каталог.

Затем добавьте этот путь в системную переменную окружения Path

  • Правый клик по «Этот компьютер» → Свойства
  • Справа «Дополнительные параметры системы» → вкладка «Дополнительно»
  • Вкладка → Переменные окружения, в разделе «Системные переменные» найдите Path, дважды щёлкните для редактирования, нажмите «Создать» и вставьте путь: D:\mingw64\bin
  • Нажмите ОК во всех открытых окнах, чтобы сохранить настройки

Важно: в папке D:\mingw64\bin должен находиться файл gcc.exe. В некоторых загружаемых пакетах gcc.exe лежит во вложенной подпапке bin.

Проверка корректной установки GCC

Откройте командную строку CMD и выполните следующие команды

gcc --version
или
g++ --version

Если на экране появится следующий текст, установка выполнена успешно

C:\Users\Jack>gcc --version
gcc (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Code language: CSS (css)
C:\Users\Jack>g++ --version
g++ (i686-win32-sjlj-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.Code language: CSS (css)

Обе команды работают корректно. После проверки приступим к созданию первой программы на C.

Создайте папку cdemo в корне диска C или любого другого диска, затем создайте текстовый файл и переименуйте его в hello.c

Откройте hello.c в Блокноте и скопируйте в него следующий код

#include <stdio.h>

int main()
{
    printf("hello, world\n");
    return 0;
}Code language: C/AL (cal)

Откройте CMD и перейдите в эту папку командой cd

Выполните команду GCC для компиляции: компиляция — это преобразование исходного кода в двоичные команды 0 и 1, понятные компьютеру.

Компиляция и запуск программы

Откройте CMD и перейдите в каталог с кодом

C:\cdemo>gcc hello.cCode language: CSS (css)

После выполнения этой команды никаких сообщений на экране не появится

Но в папке появится новый файл a.exe.

Это скомпилированная программа, как её запустить?

Достаточно написать a, расширение .exe указывать не нужно

C:\cdemo>a
hello, world
Полный процесс компиляции и запуска

Задание имени исполняемого файла

Имя a используется по умолчанию, если при компиляции не указать собственное название.

Следующая команда позволяет задать имя генерируемого exe-файла

gcc hello.c -o hello.exeCode language: CSS (css)

Откройте папку, там вы увидите hello.exe, можно переименовать его как угодно.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *