Изучаем c++. часть 1. что такое программа и языки программирования
Содержание:
Интерпретатор C / C++ Ch Embeddable (стандартная версия)
Интерпретатор C / C++, поддерживающий стандарт ISO 1990 C (C90), основные функции C99, классы C++, а также расширения к языку С, такие как вложенные функции, строковый тип и т. д. Он может быть встроен в другие приложения и аппаратные средства, использоваться в качестве языка сценариев. Код C / C++ интерпретируется напрямую без компиляции промежуточного кода. Поскольку этот интерпретатор поддерживает Linux, Windows, MacOS X, Solaris и HP-UX, созданный вами код можно перенести на любую из этих платформ. Стандартная версия бесплатна для личного, академического и коммерческого использования. Для загрузки пакета необходимо зарегистрироваться.
Описание и рекомендации
Code::Blocks – интегрированная среда разработки (IDE) для создания программных продуктов на языках C, C++, Fortran. Система полностью конфигурируема, масштабируется подключением автономных модулей (плагинов).
Продукт распространяется по лицензии GNU – бесплатно, с открытым исходным кодом. Интерфейс CodeBlocks англоязычный, официальная версия на русском отсутствует.
Разновидности интегрированной среды
Инсталляторы Code::Blocks отличаются не только поддержкой различных ОС.
Разработчики предлагают несколько видов установщика для Windows:
- полный пакет, БЕЗ компилятора, но включающий все плагины;
- non admin – версия для пользователей, не имеющих прав администратора на компьютере;
- no setup – редакция, функционирующая без инсталляции;
- издание, содержащее дополнительный GCC компилятор и средства отладки под MinGW-проекты.
Все установщики имеют отдельные релизы для архитектуры 32-bit. Инсталляторы без маркировки разрядности выпущены под системы 64-bit. Важный нюанс, Portable выпуск Code::Blocks можно скачать в двух вариациях. Один архив содержит компилятор MinGW, второй – нет. Аналогичная ситуация с инсталлятором для полной редакции.
CodeBlocks с компилятором C/C++
Интегрированная среда содержит инструменты отладки и перевода программных строк в машинный код.
Версия IDE с компилятором C может включать несколько модулей от различных разработчиков:
- MinGW;
- Microsoft Visual C++;
- Digital Mars;
- Watcom;
- Borland C++;
- CDCC – плагин под микроконтроллеры;
- Intel C++;
- Clang.
Дополнительно в IDE может присутствовать компилятор Digital Mars D, инструменты для создания исполняемых файлов с кода на языках программирования Fortran, GDC, а также архитектуры ARM. Допускается импорт проектов Microsoft Visual Studio, Dev-C++.
Отладка и интерфейс
Среда поддерживает инструмент GDB (проект GNU) и стандартный дебаггер всех выпусков Microsoft Visual Studio (MS CDB). Визуализация результатов отладки осуществляется через GNU-профайлер.
При программировании на языке Си, Code::Blocks предлагает воспользоваться инструментом RAD – для быстрой разработки приложений. Это методика наглядного создания пакетов с графическим интерфейсом.
CodeBlocks и русский язык
Официальной версии IDE на русском с компилятором или без него не существует. Это неудивительно, поскольку навыки программирования предполагают знание базовых команд меню на английском.
Дальнейшая инструкция реализуется в 8 шагов:
- Зайти в корневую директорию программы.
- Последовательно открыть подкаталоги share, CodeBlocks.
- Извлечь файл русификатора из архива внутрь каталога, общий путь к файлу будет выглядеть примерно так
C:\Program Files\CodeBlocks\share\CodeBlocks\locale\ru_RU\codeblocks.mo
- Открыть IDE.
- В главном меню последовательно выбрать пункты Settings, Environment.
- В открывшемся окне перейти на вкладку View.
- Отметить пункт Internationalization.
- В активизировавшемся выпадающем меню, расположенном напротив, выбрать Russian.
Чтобы изменения вступили в силу требуется перезапустить среду. Пакет откроется с русскоязычным интерфейсом.
SharpDevelop IDE
SharpDevelop — это IDE с открытым исходным кодом для проектов на платформе Microsoft .NET. В SharpDevelop возможно программирование на языках C #, VB.NET, F #, IronPython и IronRuby, а также целевые и расширенные возможности: Windows Forms или WPF, а также ASP.NET MVC и WCF.
Может запускаться с USB-накопителя, поставляется с интегрированными инструментальными средствами и инструментами для тестирования производительности, Git, NuGet. Имеет множество функций, которые повышают производительность труда разработчика. Это IDE с открытым исходным кодом, можно свободно скачать исходный код и исполняемые файлы c сайта загрузки. SharpDevelop имеет мощный интегрированный отладчик, включая динамические функции отладки, предоставляет возможность модульного тестирования и анализа кода.
- Поддерживаемые языки программирования
- C # (Windows Forms Designer)
- VB.NET (Windows Forms Designer)
- Boo (Windows Forms Designer)
- IronPython (Windows Forms Designer)
- IronRuby (Windows Forms Designer)
- F#
- Каркасы приложений, Frameworks
- Windows Presentation Foundation (WPF)
- Windows Forms
- ASP.NET MVC
- Entity Framework (EF EDM Designer)
- Производительность труда разработчиков
- Функция завершения кода подобная IntelliSense
- Рефакторинг (пакетное переименование, улучшение структуры кода)
- Параллельная поддержка сборки для многоядерных машин
- Поддержка пакетов NuGet и T4
- Автоматическая вставка кода
- Запуск с карты памяти USB
- поддержка чтения проект (Подробнее)
- Полная поддержка MSBuild (платформа сборки проекта)
- Инструменты
- Встроенный отладчик (в том числе динамические особенности отладки)
- Анализ кода
- Модульное тестирование (NUnit)
- Встроенная поддержка Git
Проекты, созданные в Visual Studio, вы можете открывать и редактировать в SharpDevelop и наоборот. Бесплатная среда программирования SharpDevelop предназначена для создания и редактирования любительских и коммерческих проектов. Отлично спроектированная среда разработки SharpDevelop может использоваться как альтернатива Visual Studio .NET Community.
Среды и компиляторы для программирования на C
Если вы пользуетесь одним из дистрибутивов GNU/Linux, вам подойдет любой текстовый редактор с подсветкой синтаксиса, также понадобятся GCC и терминал.
Существуют редакторы для программистов, включающие различные дополнения, в том числе терминал, просмотр каталогов и др. Например, Geany или Atom.
C – компилируемый язык программирования. В GNU/Linux для получения исполняемых файлов используется GCC – набор компиляторов, включающий в том числе компилятор для C. Чтобы из исходного файла (обычно таким файлам дают расширение *.с) получить исполняемый, надо выполнить в терминале команду примерно следующего вида:
gcc -o hello hello.c
, где gcc — команда, запускающая программу, выполняющую компиляцию и иные действия; -o – ключ, сообщающий, что мы вручную указываем имя исполняемого файла; hello – имя получаемого исполняемого файла; hello.c – имя файла с исходным кодом. Имя исполняемого файла можно не указывать:
gcc hello.c
В этом случае исполняемый файл будет иметь имя по умолчанию a.out.
Для Windows существует свой набор компиляторов – MinGW. Его можно использовать самостоятельно, однако он входит в состав простой среды разработки Dev-C++, которая может оказаться хорошим выбором для обучения программированию на языках C и С++.
При сохранении выбирайте тип файла «C source files (*.c)». Компиляция и запуск программы выполняется при нажатии клавиши F9. После исполнения программа сразу закрывается и результат невозможно увидеть. Чтобы этого не происходило, прописывают две дополнительные строки: #include <conio.h> и getch(). (Возможно это не актуально для более новой версии Dev-C++.)
«Hello World» в GNU/Linux:
#include <stdio.h> int main () { printf ("Hello World\n"); }
«Hello World» в Windows:
#include <stdio.h> #include <conio.h> int main () { printf ("Hello World\n"); getch(); }
С другой стороны, существует большое количество кроссплатформенных сред разработки. Например, Eclipse + модуль CDT, KDevelop, CLion.
«Hello World» на C
На примере простейшей программы сразу отметим некоторые особенности языка программирования C.
В языке C роль основной ветки программы берет на себя функция main(). Она является точкой входа в программу. Эта функция всегда должна присутствовать в законченной программе на языке C, и исполнение программы начинается именно с нее. Однако объявленные внутри нее переменные не являются глобальными, их область видимости простирается только на main(). Тем не менее в языке программирования C почти весь программный код заключается в функции, и функция main() является главной и обязательной.
По умолчанию функция main() возвращает тип данных int, поэтому можно не указывать тип возвращаемых данных. Однако компилятор в этом случае выносит предупреждение.
Функция printf() предназначена для вывода данных. Ее назначение аналогично функции print() в Python. Однако функция printf() после вывода не выполняет переход на новую строку. Поэтому для перехода используется специальный символ, который обозначается комбинацией \n.
Выражения на языке C разделяются точкой с запятой.
В языке C функции ввода-вывода не являются частью языка. Например, в Python нам не надо импортировать никакой модуль, чтобы пользоваться функциями print() и input(). В C мы не можем просто вызвать функцию printf(), т. к. в самом C ее просто нет. Эту функцию, а также ряд других, можно подключить с помощью заголовочного файла stdio.h. Именно для этого в начале программы прописана строка . Include с английского переводится как «включить», а stdio есть сокращение от «стандартный ввод-вывод (input-output)».
В заголовочных файлах (они оканчиваются на *.h) обычно содержаться объявления тех или иных функций. Объявление — это просто описание функции: какие параметры она принимает и что возвращает. Сам код функции (определение) находится не в заголовочном файле, а в библиотеках (других файлах), которые могут быть уже скомпилированы и расположены в системных каталогах. Перед компиляцией программы запускается препроцессор языка C. Помимо прочего он включает в начало файла программы содержимое указанных в ней заголовочных файлов.
Закомментируйте1 первую строчку кода программы HelloWorld. Попробуйте скомпилировать программу. Удалось ли получить исполняемый файл? Какое предупреждение выдал компилятор?
1 // — однострочный комментарий на языке C; /* … */ — многострочный комментарий на языке C.
AMD x86 Open64 Compiler Suite
Это версия набора компиляторов Open64 (описанного ниже), которая была настроена для процессоров AMD и имеет дополнительные исправления ошибок. Компилятор C / C++ соответствует стандартам ANSI C99 и ISO C++ 98, поддерживает межъязыковые вызовы (так как он включает в себя компилятор Fortran), 32-битный и 64-битный код x86, векторную и скалярную генерацию кода SSE / SSE2 / SSE3, OpenMP 2.5 для моделей с разделяемой памятью, MPICH2 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций (глобальную, цикл-узел, межпроцедурный анализ, обратную связь) и многое другое. Набор поставляется с оптимизированной AMD Core Math Library и документацией. Для этого набора компиляторов требуется Linux.
Leonardo IDE
Это IDE на базе Macintosh, компилятор и отладчик для программ на C. Он включает в себя редактор с подсветкой синтаксиса, ANSI C компилятор, компилятор для языка визуализации ALPHA, редактор графов, обратимый виртуальный процессор и т. д.
Обратите внимание, что программы в код, который будет выполняться для виртуального ЦПУ. Виртуальная машина и отладчик позволяют выполнять код вперед и назад и поддерживать многозадачность
IDE поставляется с анимированными алгоритмами, примерами исходного кода таких игр, как Tetris, Checkers и других. IDE полезна для проверки и отладки исходного кода, поиска процессов, неэффективно использующих память и т. д.
Примечание: этот проект был прекращен.