Лучшие компиляторы кода и IDE для C++

16 июня в 16:10 34K imageРассказываем о лучших компиляторах и инструментах для разработки на С++. Что такое компилятор C++? Если в двух словах, то это утилита, которая преобразует написанный человеком код в язык, понятный для компьютера.  Если подробнее, то сначала надо обратиться к тому, как работает программный код. Компьютеры понимают только машинный язык (ассемблер), представляющий собой чередующиеся нули и единицы. Других прямых механизмов взаимодействия между компьютеров и человеком не существует.  Программировать, используя только бинарные символы, конечно, можно. Но это займет неприлично много времени и в несколько раз усложнит процесс разработки программного обеспечения любого порядка (разработчики превратятся в вымирающий вид). Поэтому люди придумали языки программирования более высокого класса, чтобы было легче взаимодействовать с ПК.  Ассемблер общается с аппаратным обеспечением напрямую. Языкам в духе C и C++ требуется компилятор, который сможет превратить более очеловеченный код в машинный. Похожим образом работают более «высокие» языки наподобие JavaScript и Python. Только они сначала преобразуются в С++, а потом в ассемблер. Все сводится к одному. И мы снова возвращаемся к процессорам, которые понимают только нули и единицы. Для них нужен переводчик, который будет низводить до примитивного состояния код С++. Это и есть компилятор. Как скомпилировать С++  Для этого нужна специальная программа. Она считывает код и начинает его трансформировать (переводить с одного языка на другой). Некоторые из них включают в себя текстовый редактор, куда можно вставить код, а некоторые работают в командной строке и взаимодействуют с готовыми скриптами.  Обычно процесс компиляции заключается в введении команды для запуска компилятора и передачи пути до файла-скрипта. Иногда компиляцию удается запустить через графический интерфейс. Все зависит от используемого ПО. После запуска интерпретатор кода считывает содержимое файла, находит там директивы и флаги, подключает внешние необходимые библиотеки, а потом передает необходимые данные процессору. Ну а тот уже делает то, что нам вздумалось: пролистает страницу на сайте или запустит игру.  Топ лучших компиляторов и IDE для C++ Большая часть компиляторов существует в виде программного обеспечения, устанавливаемого в систему. Частенько они объединены с IDE, полноценной средой разработки, которая включает в себя текстовый редактор с подсветкой синтаксиса, автодополнением кода, файловым менеджером и массой других возможностей, необходимых для комфортного программирования.  Visual Studio Code Тип: IDE Цена: Бесплатно Поддерживаемые платформы: Windows, Linux, macOS Это популярнейший редактор текста для программистов, который можно превратить в мощную IDE, установив дополнительные плагины. Популярность VS Code обоснована его производительностью, открытым исходным кодом и неограниченной функциональностью.  image Удобный, современный интерфейс вкупе с высокой скоростью работы делают VS Code идеальным инструментом для разработки программного обеспечения любого формата, в том числе и на языке С++.  В нем есть подсветка синтаксиса языка по умолчанию, автоматическое дополнение кода, а также система IntelliSense, помогающая находить ошибки в коде, взаимодействовать с API и дополнять код элементами из подключенных к проекту файлов.  Все это удобство дополняется функцией компиляции языка с помощью специализированного плагина. Все инструменты, необходимые для разработки, при этом доступны в едином интерфейсе. Microsoft Visual C++ Тип: IDE Стоимость: Community-версия распространяется бесплатно Поддерживаемые платформы: Windows Это проприетарная программная платформа для разработки с использованием языка С++. Также Visual Studio поддерживает другие часто используемые языки: Node.js, Python, а также С#. Приложения можно создавать прямо в программе. Для этого есть удобный интерфейс для управления проектами, многооконный текстовый редактор для написания скриптов, встроенный быстрый компилятор, а также удобная система тестирования кода со всеми необходимыми инструментами, включая консоль и прочее. Тут, как и в VS Code, есть система IntelliSense, помогающая писать код быстрее и эффективнее. Она автоматически дополняет строки кода, проверяет код на наличие ошибок, помогает работать со сторонними API и т.п. Развиваемая сообществом версия программы распространяется безвозмездно.  Xcode Тип: IDE Стоимость: Бесплатно Поддерживаемые платформы: macOS Ключевая IDE компании Apple, разработанная эксклюзивно для macOS. Хоть и основное направление Xcode – работа с языками Objective-C и Swift, в программу встроен быстрый и удобный компилятор С++. Для работы с ним нужно лишь указать соотвествующий формат при создании нового проекта.  В Xcode удобный интерфейс, позволяющий легко организовать все открытые файлы проекта: скрипты, документацию, preview-кода и другие элементы, необходимые по ходу разработки приложения.  Здесь есть все необходимые инструменты для разработки: полноценные дебаггер (система поиска ошибок), механизмы управления файлами на манер git, встроенные утилиты для тестирования кода и т.п.  Запускать компилятор можно через командную строку, не используя графический интерфейс. g++ Тип: Компилятор Стоимость: Бесплатно Поддерживаемые платформы: Linux, macOS Классические компиляторы в духе g++ отличаются от IDE отсутствием среды для разработки. Они лишь переводят текст с языка С++ на машинный язык, понятный для компьютерного процессора.  g++ – это встроенная в unix-системы утилита, запускаемая через командную строку.  Чтобы ею воспользоваться, нужно:  Открыть терминал. С помощью команды cd перейти в директорию с исходным кодом программы. Ввести команду g++ название файла в формате .cpp Эта команда автоматически создаст инициализируемый .exe-файл.  При необходимости скомпилировать код и сразу же его запустить, можно расширить команду и добавить ссылку на созданный инициализируемый файл. Dev-C++ Тип: IDE Стоимость: Бесплатно Поддерживаемые платформы: Windows Dev-C++ – это полноформатная IDE для написания и компиляции кода на языках С и С++. Утилита является одним из главных программных продуктов с 1998 года. Ее используют миллионы разработчиков, студентов и исследователей.  Из преимуществ Dev-C++ пользователи программы выделяют следующие аспекты: Легковесность и высокая скорость работы (интерфейса и компилятора).  Портативность. Возможность запускать Dev-C++ без установки. Поддерживает сторонние компиляторы Mingw, Cygwin и другие. Браузер классов, интегрированный дебаггер, автозавершение кода.  Удобный интерфейс управления проектами и настраиваемый текстовый редактор. Intel C++ Тип: Компилятор Стоимость: Бесплатно Поддерживаемые платформы: Windows, Linux Intel C++ (ICC), как понятно из названия, разработан компанией Intel с использованием современных наработок и мощной интеграцией с аппаратными компонентами компании. В Intel C++ используется мощная система кэширования и SIMD-инструкции. Это позволяет ему компилировать код гораздо быстрее и эффективнее, чем большинству подобных решений. К тому же он удерживает высокую производительность на протяжении всего времени работы, когда другие компиляторы «проседают». Intel внедрила колоссальное количество технологий, чтобы при компиляции создавать оптимизированный и быстро инициализируемый код. К тому же их программа легко интегрируется в другие популярные инструменты для разработки и может использоваться в тандеме с любым другим компилятором.  Также платформа Intel поддерживает стандарты C++ 20, SYCL, OpenMP 5.0, GPU offload.  Mingw-w64 Тип: Компилятор Стоимость: Бесплатно Поддерживаемые платформы: Windows Усовершенствованная версия проекта mingw, который завершил свое существование в 2007 году. Mingw-w64 – это форк (ответвление разработки) оригинального компилятора, необходимого для поддержки 64-битных операционных систем. Также mingw-w64 поддерживает современные версии API, за счет чего и приобрел большую популярность среди независимых разработчиков. Они же регулярно выпускают обновления и совершенствуют компилятор.  Mingw-w64 включает в себя миллионы подзаголовков, включая те, что необходимы для работы с новыми API Windows. В комплекте с mingw-w64 идет все необходимое для запуска и тестирования кода на Windows: инструменты для генерации файлов в формате .def, .dll. и утилита genidl для создания .idi файлов. Проект mingw-w64 используется во множестве проектов, включая Blender, Fedora, OpenSUSE, DAE Tools, Botan, Win-builds и так далее.  Clang C++ Тип: Компилятор Стоимость: Бесплатно Поддержимваемые платформы: macOS, Linux, FreeBSD Один из наиболее популярных и часто используемых компиляторов С, С++, Objective-C и других языков. Также он подходит для работы с фреймворками OpenMP, OpenCL, RenderScript, CUDA. Clang создавался в качестве альтернативы GNU Compiler Collection. Продукт поддерживает большую часть флагов компиляции и неофициальных расширений для программного языка. Продукт развивается силами разработчиков огромного числа крупных корпораций, включая Apple, Microsoft, Google, ARM, Sony, Intel, AMD и других. Исходный код открыт. Clion Тип: IDE Стоимость: от 14 100 рублей Поддерживаемые платформы: Clion – это полнофункциональная кроссплатформенная среда для разработки приложений на языке C++. В нее включена поддержка современных стандартов программного языка С++, технологий libC++ и Boost.  Программа автоматически контролирует состояние кода и его «чистоту», позволяя разработчикам сконцентрироваться на ключевых аспектах создания приложений вместо забот о поиске ошибок и т.п. Естественно, не обошлось без поддержки автодополнения кода, подсветки синтаксиса и механизмов тестирования.  Clion упрощает процесс разработки программного обеспечения за счет использования CMake и Gradle. Разработка компании JetBrains идеально подходит для комфортного управления всеми аспектами приложения с клавиатуры, тестирования кода с использованием технологий Google Test, интеграции VCS, Git< Boost.Test и других фреймворков. Лучшие сервисы-компиляторы Компилировать код можно не на жестком диске своего ПК, а онлайн, используя специализированные сервисы. Компилятор находится на сервере разработчика и выполняет все необходимые функции за вас. Правда, функциональность таких сервисов обычно заметно ограничена. Рассчитывать на полную поддержку всех используемых библиотек не стоит, но для быстрого тестирования кода и изучения языка такие компиляторы подходят идеально. Codepad Тип: Компилятор Стоимость: Бесплатно Поддерживаемые платформы: Любой браузер Онлайн-сервис для компиляции и интерпретации C++ через браузер, разработанный независимым разработчиком Стивеном Хэйзелом, одним из основателей компании Sauce Labs. Одним из преимуществ Codepad является функция коллаборации. Можно создавать проекты с собственными субдоменами для приватной совместной работы с коллегами.  Принцип работы Codepad простой: в текстовое поле сайта нужно вставить сгенерированный ранее код и нажать на кнопку Submit. Утилита в ответ отправит вывод (результат работы) команды. Потом можно оставить комментарий под написанным кодом и сгенерировать постоянную ссылку для взаимодействия с другими программистами. Также Codepad поддерживает C, Haskell, Lua, Python и другие языки, над которыми можно работать в команде прямо из браузера.  CPP.sh Тип: Компилятор Стоимость: Бесплатно Поддерживаемые платформы: Любой браузер Еще одна онлайн-альтернатива для тех, кто хочет разрабатывать ПО на языке C++ и кому нужен простой и быстрый компилятор. Интерфейс CPP.sh состоит из двух ключевых фрагментов: текстовое поле, куда можно прописать код, и панель с настройками. Текстовый редактор сервиса поддерживает подсветку синтаксиса и возможность протестировать практически любой код прямо в браузере, не используя дополнительное ПО.  В настройках можно выбрать стандарт языка (С++98, С++11, С++14), тип уведомлений об ошибках (Wall, Wextra, Wpedantic), уровень оптимизации кода, а также прописать параметры инициализации кода и вывода данных. Также в CPP.sh есть две консоли с информацией о компиляции и запуске кода.  Jdoodle Тип: Компилятор Стоимость: Бесплатно  Поддерживаемые платформы: Браузер, iOS и Android Еще один компилятор С++, работающий в браузере и не требующий установки дополнительного ПО.  В Jdoodle можно инициализировать код в одном из пяти доступных режимов: GCC 5.3.0, Zapcc 5.0.0, GCC 7.2.0, GCC 8.1.0, GCC 9.1.0. Можно вписать свои аргументы для командной строки и ввести параметры Stdin Inputs.  Jdoodle работает в двух режимах: первый – статичный (сначала пишете код, а потом его запускаете), второй – интерактивный (результат любого действия разработчика тут же отображается в консоли). При необходимости можно не писать код на сайте, а загрузить файл уже с готовым скриптом. Также в Jdoodle можно включить темную тему, выбрать размер шрифта, сохранить проект в отдельном файле и пригласить коллег для совместной работы. А еще у Jdoodle есть мобильная версия для компиляции на смартфонах и планшетах. C++ Tutor Тип: Компилятор Стоимость: Бесплатно Поддерживаемые платформы: Любой браузер Последняя в подборке система визуализации кода, часто использующаяся начинающими разработчиками на ранних этапах изучения С++. В отличие от вышеперечисленных компиляторов, здесь все предельно просто: вводите код, затем нажимаете на кнопку «Visualize Execution» и смотрите на результат. Никаких настроек, опций и дополнительных функций тут нет. Максимально примитивный, но все еще эффективный инструмент.  Вместо заключения На этом все. Каждый из описанных выше компиляторов используется тысячами разработчиков и отлично подходит для разработки на С++. Остается только опробовать их и выбрать наиболее подходящий вариант для вашего уровня, типа задач и рода деятельности. Space Police +993

Основная масса игр и программ требует установленного Microsoft Visual C++ — без этого пакета приложения просто не запустятся. При этом пользователи будут видеть многочисленные ошибки, так или иначе связанные с MSVC, самая распространённая из которых — runtime library error.

Обычно при установке приложений Microsoft Visual C++ redistributable package устанавливается автоматически, но не исключены и некоторые ошибки, возникающие в процессе инсталляции. В большинстве случаев это связано с использованием контрфактного ПО или с вирусными атаками.

Разновидности пакетов

Существует несколько версий продукта, в том числе и под разные архитектуры. Как и большинство приложений, Microsoft Visual C++ выпускается для систем 32/ 64bit, и рекомендуется использовать полностью совместимый пакет, чтобы исключить возможные ошибки при работе. На ОС х64 может быть установлена как 32-разрядная (x86), так и 64-разрядная (x64) версия, и в большинстве случаев для запуска игр в таких системах требуется наличие обоих пакетов.

Вы можете скачать Microsoft Visual C бесплатно для Windows XP, 7, 8, 8.1,10 и  исправить ошибки самостоятельно. Программная среда не занимает много места на жёстком диске, и установка нескольких версий в одну ОС практикуется довольно часто. Это объясняется тем, что старые игры и программы могут корректно работать только под старой версией продукта, а новые, наоборот, требуют обновлённых библиотек.

С чего начать установку Visual C++?

  1. Нужно определить какая у Вас разрядность системы: 32 или 64 bit. Если у Вас 64bit, то ставим обе версии 32/64, если у Вас система 32bit – ставим только 32
  2. Зайдите через панель управления в “Программы и компоненты” и посмотрите, какие уже установлены версии Visual C++
  3. На моём компьютере (автора статьи), установлены полностью все версии. Что и способствует запуску игр как новых так и старых без ошибок
  4. Устанавливайте все отсутствующие версии начиная с самой первой – 2005, и доходите до последней – 2017. (Если вы не знаете от какой версии файлы, но на нашем сайте всё указано в описании для каждого файла.)
  5. Установка много времени не займет, только так, вы загрузите все библиотеки DLL

Microsoft Visual C++ 2005

Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)

Скачать Microsoft Visual C++ 2005 для 32 бит

Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update

Скачать Microsoft Visual C++ 2005 для 64 бит

 Microsoft Visual C++ 2008

Microsoft Visual C++ 2008 пакет обновления 1 (SP1) (x86)

Скачать  Microsoft Visual C++ 2008 для 32 бит

Microsoft Visual C++ 2008 пакет обновления 1 (SP1) (x64)

Скачать Microsoft Visual C++ 2008 для 64 бит

 Microsoft Visual C++ 2010

Распространяемый пакет Microsoft Visual C++ 2010 (x86)

Скачать Microsoft Visual C++ 2010

Распространяемый пакет Microsoft Visual C++ 2010 (x64 — )

Скачать Microsoft Visual C++ 2010

Microsoft Visual C++ 2012

Скачать Microsoft Visual C++ 2012 для 32 бит

Скачать Microsoft Visual C++ 2012 для 64 бит

Скачать Microsoft Visual C++ 2013 для 32 бит

Скачать Microsoft Visual C++ 2013 для 64 бит

Распространяемый компонент Microsoft Visual C++ 2015 Обновление 3

Скачать Microsoft Visual C++ 2015 для 32 бит

Скачать Microsoft Visual C++ 2015 для 64 бит

Microsoft Visual C++ 2017

Скачать Microsoft Visual C++ 2017 для 32 бит

Скачать Microsoft Visual C++ 2017 для 64 бит

Microsoft Visual C++ 2015-2017-2019

Скачать Microsoft Visual C++ для 32 бит

Скачать Microsoft Visual C++ для 64 бит

Скачать Microsoft Visual C++ для ARM64

Внимание: Visual C++ 2015, 2017 и 2019 содержат одинаковые распространяемые файлы.

Но есть нюанс, установка на компьютер 2019 версии может повлиять на игры или программы написанные на ранее созданных версия 2015 и 2017. А вот если установить отдельно пакет Visual C++ 2015, то он не заменит файлы более поздних версий. Visual C++ версий 2013 и более ранние, не относятся к данному пункту, т.к у них свои собственные файлы не зависимые друг от друга

Будем рады услышать от Вас отзыв, также поможем при установке компонентов, и в исправлении ошибок. Пишите всё в комментариях, чуть ниже

–>

по интегрированой среде Dev-C++

Список вопросов

  1. Как настроить русский язык в консольных программах?
  2. Как писать простые графические программы?
  3. Как работать с графикой в Windows 8/10?

Как настроить русский язык в консольных программах?

В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:

  1. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  2. Перейдите на вкладку Компилятор и добавьте два параметра -fexec-charset=cp866 -finput-charset=cp1251 как показано на рисунке (см. источник).
  1. Скачайте архив, содержащий программы gccrus.exe и g++rus.exe (193 Кб).
  2. Скопируйте программы gccrus.exe и g++rus.exe в папку C:Dev-Cppin (если при установке оболочки вы указали другой каталог вместо стандартного C:Dev-Cpp, скопируйте программы в его подкаталог bin).
  3. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  4. Перейдите на вкладку Программа и исправьте названия двух первых программ так, как показано на рисунке.

Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:WINDOWSSYSTEM32.

Как писать простые графические программы?

Для того, чтобы подключить модуль для работы с графикой, сделайте следуюшее:

  1. Скачайте архив, содержащий файлы graphics.h (заголовочный файл) и libbgi.a (библиотека). Размер архива 53 Кб.
  2. Скопируйте файл graphics.h в папку C:Dev-Cppinclude.
  3. Скопируйте файл libbgi.a в папку C:Dev-Cpplib.
  4. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  5. Перейдите на вкладку Компилятор, включите флажок Добавить эти команды к командной строке компоновщика и добавьте в окно под этим флажком строчку

Читайте также:  Canyon cne cwc3 драйвер windows 10

-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

Чтобы выводить русский текст в графическом режиме, в окне Сервис-Параметры компилятора на вкладке Программы нужно установить программы по умолчанию gcc.exe и g++.exe:

После выполнения этих действий вы можете использовать команды для рисования графических примитивов (отрезков, прямоугольников, окружностей и т.д.), так же, как раньше в Turbo C и Borland C++. Полное описание команд (на английском языке) можно найти на странице Михаэля Майна.

Вот так выглядит простейшая программа, которая выводит на экран отрезок из точки (0,0) (это левый верхний угол окна) в точку (50,50) и ждет нажатия на любую клавишу:

Программы, работающие с графикой в таком режиме, должны обрабатываться компилятором языка C++, для этого проще всего сделать у них расширение имени файла *.cpp.
В программах, которые не работают с графикой, флажок Добавить эти команды к командной строке компоновщика нужно отключать, иначе при завершении программы будет появляться сообщение об ошибке.

Как работать с графикой в Windows 8/10?

Спасибо П.Ф. Муль, который прислал ссылку на эту инструкцию.

Проблема состоит в том, что устаревшая версия Bloodshed Dev-C++ 4.9.9.2 не работает в операционных системах Windows 8/10.

Полная инструкция по установке современной версии Dev-C++ и подключению модуля работы с графикой пожно посмотреть на видео How to Make Graphics in Dev C++ on Windows 10.

Для того, чтобы подключить модуль для работы с графикой в Windows 8/10, сделайте следуюшее:

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

К примеру, если мы напишем такой код на С++

То после компиляции, вот что будет выдавать нам консольное окно программы.

Читайте также:  Hp pavilion g6 a8 3520m

Если же мы будем использовать функцию setlocale() внутри функции main()

То получим вместо иероглифов нормальный русский шрифт, вуаля:

Также, можно опустить последний аргумент функции — setlocale(LC_ALL, “Russian”); можно заменить на setlocale(0, “”); — работоспособность программы от этого не изменится.

При изучении языка C++ и программировании под Windows довольно часто возникают вопросы по поводу отображения русских букв в консоли. Вывод и ввод русских букв сопровождается выводом и вводом каких-то кракозябр или иероглифов. В интернете можно найти довольно много советов, но большая часть советов, которые мне попались, не помогали в решении проблемы.

Возникла проблема с отображением русских букв

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

На языке C++ программирую под ОС Linux, использую компилятор GCC. С проблемой неправильного отображения русских букв я не сталкивался. В момент написания статьи я нахожусь далеко от своего компьютера, могу довольствоваться лишь скромненьким ноутбуком с установленной ОС Windows Seven. Захотелось покодить и я установил на него интегрированную среду разработки Dev-C++ 5.10(использует компилятор TDM-GCC 4.8.1 на базе GCC 4.8.1). Кстати, она уже официально не поддерживается, но существует форк Orwell Dev-C++, который обновляется по сей день. Установив, я запустил и для пробы написал простую программку, которая отображает текст «Привет, мир!». Но поздороваться она с миром так и не смогла, а лишь сказала что-то непонятное на древнеегипетском. После перелопачивания некоторых форумов и сайтов я нашел множество советов, но основная масса не способна была решить её полностью, образовывались подводные камни о которых расскажу далее.

Читайте также:  Mi x wiha precision screwdriver

После написания, компиляции и запуска такой программы:

Содержание

по интегрированой среде Dev-C++

Список вопросов

  1. Как настроить русский язык в консольных программах?
  2. Как писать простые графические программы?
  3. Как работать с графикой в Windows 8/10?

Как настроить русский язык в консольных программах?

В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:

  1. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  2. Перейдите на вкладку Компилятор и добавьте два параметра -fexec-charset=cp866 -finput-charset=cp1251 как показано на рисунке (см. источник).
  1. Скачайте архив, содержащий программы gccrus.exe и g++rus.exe (193 Кб).
  2. Скопируйте программы gccrus.exe и g++rus.exe в папку C:Dev-Cppin (если при установке оболочки вы указали другой каталог вместо стандартного C:Dev-Cpp, скопируйте программы в его подкаталог bin).
  3. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  4. Перейдите на вкладку Программа и исправьте названия двух первых программ так, как показано на рисунке.

Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:WINDOWSSYSTEM32.

Как писать простые графические программы?

Для того, чтобы подключить модуль для работы с графикой, сделайте следуюшее:

  1. Скачайте архив, содержащий файлы graphics.h (заголовочный файл) и libbgi.a (библиотека). Размер архива 53 Кб.
  2. Скопируйте файл graphics.h в папку C:Dev-Cppinclude.
  3. Скопируйте файл libbgi.a в папку C:Dev-Cpplib.
  4. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  5. Перейдите на вкладку Компилятор, включите флажок Добавить эти команды к командной строке компоновщика и добавьте в окно под этим флажком строчку

-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

Чтобы выводить русский текст в графическом режиме, в окне Сервис-Параметры компилятора на вкладке Программы нужно установить программы по умолчанию gcc.exe и g++.exe:

После выполнения этих действий вы можете использовать команды для рисования графических примитивов (отрезков, прямоугольников, окружностей и т.д.), так же, как раньше в Turbo C и Borland C++. Полное описание команд (на английском языке) можно найти на странице Михаэля Майна.

Вот так выглядит простейшая программа, которая выводит на экран отрезок из точки (0,0) (это левый верхний угол окна) в точку (50,50) и ждет нажатия на любую клавишу:

Программы, работающие с графикой в таком режиме, должны обрабатываться компилятором языка C++, для этого проще всего сделать у них расширение имени файла *.cpp.
В программах, которые не работают с графикой, флажок Добавить эти команды к командной строке компоновщика нужно отключать, иначе при завершении программы будет появляться сообщение об ошибке.

Как работать с графикой в Windows 8/10?

Спасибо П.Ф. Муль, который прислал ссылку на эту инструкцию.

Проблема состоит в том, что устаревшая версия Bloodshed Dev-C++ 4.9.9.2 не работает в операционных системах Windows 8/10.

Полная инструкция по установке современной версии Dev-C++ и подключению модуля работы с графикой пожно посмотреть на видео How to Make Graphics in Dev C++ on Windows 10.

Для того, чтобы подключить модуль для работы с графикой в Windows 8/10, сделайте следуюшее:

по интегрированой среде Dev-C++

Список вопросов

  1. Как настроить русский язык в консольных программах?
  2. Как писать простые графические программы?
  3. Как работать с графикой в Windows 8/10?

Как настроить русский язык в консольных программах?

В консольных приложениях (похожих на текстовый режим) русские буквы выводятся к кодировке CP-866, а в оболочке Dev-C++ они набираются в кодировке CP-1251. Это значит, что вместо русских букв вы увидите «кракозябры». Чтобы этого не случилось, кодировку нужно исправить с помощью простой дополнительной программы. Сделайте следующее:

  1. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  2. Перейдите на вкладку Компилятор и добавьте два параметра -fexec-charset=cp866 -finput-charset=cp1251 как показано на рисунке (см. источник).
  1. Скачайте архив, содержащий программы gccrus.exe и g++rus.exe (193 Кб).
  2. Скопируйте программы gccrus.exe и g++rus.exe в папку C:Dev-Cppin (если при установке оболочки вы указали другой каталог вместо стандартного C:Dev-Cpp, скопируйте программы в его подкаталог bin).
  3. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  4. Перейдите на вкладку Программа и исправьте названия двух первых программ так, как показано на рисунке.

Примечание от Ю. Проценко: Если программа при запуске не обнаруживает библиотеки libintl-8.dll и libiconv-2.dll, их нужно поместить в каталог C:WINDOWSSYSTEM32.

Как писать простые графические программы?

Для того, чтобы подключить модуль для работы с графикой, сделайте следуюшее:

  1. Скачайте архив, содержащий файлы graphics.h (заголовочный файл) и libbgi.a (библиотека). Размер архива 53 Кб.
  2. Скопируйте файл graphics.h в папку C:Dev-Cppinclude.
  3. Скопируйте файл libbgi.a в папку C:Dev-Cpplib.
  4. Запустите оболочку Dev-C++ и войдите в меню Сервис-Параметры компилятора.
  5. Перейдите на вкладку Компилятор, включите флажок Добавить эти команды к командной строке компоновщика и добавьте в окно под этим флажком строчку

-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

Чтобы выводить русский текст в графическом режиме, в окне Сервис-Параметры компилятора на вкладке Программы нужно установить программы по умолчанию gcc.exe и g++.exe:

После выполнения этих действий вы можете использовать команды для рисования графических примитивов (отрезков, прямоугольников, окружностей и т.д.), так же, как раньше в Turbo C и Borland C++. Полное описание команд (на английском языке) можно найти на странице Михаэля Майна.

Вот так выглядит простейшая программа, которая выводит на экран отрезок из точки (0,0) (это левый верхний угол окна) в точку (50,50) и ждет нажатия на любую клавишу:

Программы, работающие с графикой в таком режиме, должны обрабатываться компилятором языка C++, для этого проще всего сделать у них расширение имени файла *.cpp.
В программах, которые не работают с графикой, флажок Добавить эти команды к командной строке компоновщика нужно отключать, иначе при завершении программы будет появляться сообщение об ошибке.

Как работать с графикой в Windows 8/10?

Спасибо П.Ф. Муль, который прислал ссылку на эту инструкцию.

Проблема состоит в том, что устаревшая версия Bloodshed Dev-C++ 4.9.9.2 не работает в операционных системах Windows 8/10.

Полная инструкция по установке современной версии Dev-C++ и подключению модуля работы с графикой пожно посмотреть на видео How to Make Graphics in Dev C++ on Windows 10.

Для того, чтобы подключить модуль для работы с графикой в Windows 8/10, сделайте следуюшее:

подскажите как подключить graphics.h в sublime text3 ? Использую с99

А каким тогда образом пишутся графические приложения на СИ в линуксе?

А каким тогда образом пишутся графические приложения на СИ в линуксе?

Просто сейчас читаю книгу, и там указан именно этот хедер

Да книга и не особо старая, так что я даже и не думал о том что эти хедеры могли уже устареть.

Это книга К.Поляков 1995-2012 Программирование на языке СИ

просто пропускайте разделы с графикой

Читайте также:  ghost recon wildlands l115a3 где найти -5 голосов 1 ответ Malloc возвращается 0? Я выполняю проект домашней работы в C, используя компилятор Dev-С++. Как ни странно, я застрял в функции malloc которая возвращает мне 0 что будет означать, что это из памяти кучи. Я почти не сомне… 81 голос 1 ответ Ошибка компиляции GTK 3.0 в Dev С++ Я пытаюсь сделать UI в C для проекта. Это когда я нашел GTK. Но после многих конфигураций в dev c++ я просто не могу избавиться от этой ошибки. cannot find -lzdll Я пробовал искать в google, но без… -5 голосов 1 ответ Как я могу узнать, включен ли Caps Lock в Dev-С++? на первом месте, я извиняюсь за свой английский. Дело в том, что я пытаюсь сделать KeyLogger в dev-С++ для школы, и я хочу знать, есть ли способ узнать, включен ли Caps Lock. Я не хочу, чтобы он ра… 93 голоса 1 ответ Как перемещать точечный объект по координатам xy в консоли – C++ OOP Я выполняю назначение объектно-ориентированного программирования, в котором меня просят создать игру для ловли чисел для детей, чтобы во время их наслаждения они также изучали подсчет чисел. Здесь … 81 голос 1 ответ Настроить DevC++ с помощью OpenCV 3.1 Я загрузил OpenCV 3.1 со своего сайта, и я хочу использовать его в DevC++. Я попытался выполнить поиск в Google, но я нахожу только инструкции по использованию OpenCV 2.0 с DevC++. Я прочитал там, … 139 голосов 1 ответ запрос о dev С++ – запущенные программы Может ли кто-нибудь сказать мне, как я могу вставлять текст в консоль Dev-С++ (оболочка командной строки) во время запуска программы в Dev-С++? Также есть ли еще одна простая среда IDE, которая поз… 139 голосов 2 ответа Консоль С++: анализ данных METAR Я работаю над своим первым веб-приложением (визуализация погоды), для которого требуется немного света c++ на задней панели. Я использую wget для загрузки необработанного текста и консоли c++ для а… -7 голосов 1 ответ ошибка в C для имитируемой templade У меня есть эта ошибка в Dev C. Это говорит о ошибке в отношении указателей, но я не использую указатели. [Ошибка] неверное преобразование из ‘int *’ в ‘int’ [-fpermissive] Ошибка в этой строке: E=… 124 голоса 1 ответ ошибка сегментации на fprintf в Dev-С++ В частности, что может вызвать ошибку сегментации при вызове fprintf. Вызов fprintf ниже. Если есть слишком много возможностей, которые могут вызвать это, пожалуйста, предоставьте обобщенный набор … 66 голосов 3 ответа Dev-С++ не записывает выходной файл на диск Когда я запускаю свою программу на linux в uni, программа работает нормально. fred.out файл fred.out . Но когда я запускаю его дома на Dev-С++, он не пишет выходной файл. Как это исправить? Я искал… 80 голосов 5 ответов Заголовочные файлы в dev-С++ Я пытаюсь добавить файл заголовка в dev-С++, но когда я его компилирую, он не работает. Вот мои точные шаги (для моего примера я пытаюсь заставить mysql.h работать): скопировать “mysql.h” в c:dev-… 190 голосов 1 ответ Компилировать 64-битный двоичный файл с помощью MinGW (Dev-С++) Это, наверное, глупый вопрос, но я искал ответ примерно через 3 часа. ¿Как скомпилировать 64-битный двоичный файл с (Dev-С++) MinGW? Я прочитал, что MinGW поддерживает 64 бита по умолчанию, но я не… -7 голосов 1 ответ Мой текущий фон c++ Я установил мой dev c++, и теперь у меня проблема, когда я запускаю приложение этого простого кода: #include #include using namespace std; int main() { cout<<… </div> 66 голосов 3 ответа Dev C++ дает разные результаты в случае адреса указателя У меня есть следующий набор кодов int main(){ int x = 36; int const * p1; p1 = &x; printf(“Values at p1: %dn”, *p1); p1=0; printf(“Addresses pointed to by p1: %p “, &p1); return 0; } дает … 93 голоса 1 ответ Проблемы с Dev C, math.h Я только что установил devcpp и пытаюсь убедиться, что он работает. Когда я столкнулся с ошибками компиляции, окружающими math.h. Я использую пару простых программ, которые были скомпилированы и за… 139 голосов 1 ответ Как интегрировать OpenCV_2.4.6 с помощью Bloodshed dev C++? Я много искал этот вопрос, но не нашел решения? Помогите. Я нашел помощь для OpenCV 2.0 и 2.1, но это не работает для последней версии 2.4.6. Также я понятия не имею, что такое CMake и MingW? 94 голоса 3 ответа Получение созданной Dev-С++ программы для вывода символов UNICODE в командную строку Windows Если вы можете ответить на любой из моих вопросов, это было бы замечательно. Вот совок: я преподаю введение в класс программирования в Таиланде 11-м классникам. До сих пор все было замечательно, ур… -5 голосов 2 ответа Проблема разницы между DevC + + и gcc В gcc, в linux, у меня нет проблемы с использованием этой операции: s->voti->next но в DevC++, на окнах, он делает segmentation fault 🙁 Зачем? Что я делаю не так? 🙁 Найдите полный код здесь… 104 голоса 1 ответ VS 2017..cpp открывается неправильно в других компиляторах У вас возникли проблемы с открытием.cpp, созданного в Visual Studio в других компиляторах. Мой преподаватель полагается на все, кроме визуальной студии, и получает мусор при открытии созданного vis… 113 голосов 7 ответов Ошибка компиляции Dev С++, отказ в доступе Я хочу скомпилировать программу кода с помощью dev С++ compiler, но мой компилятор не скомпилировал мой код. Программа состоит из двух файлов: один – это заголовок, а другой – файл реализации .cpp…. 94 голоса 1 ответ не будет компилироваться на компиляторе Dev C++ Я пытаюсь передать некоторый код с помощью компилятора Dev_C++ 4.9.9.2, и я не могу заставить его распознать стандартный шаблон алгоритма, как в #ifdef __cplusplus extern “C” { #endif #include <… </div> -5 голосов 1 ответ Неверные файлы, скомпилированные в программе C++ с использованием Dev- C++ 5.11 Я хочу спросить то, что может показаться глупым, но я не знаю, как это преодолеть. Я написал программу C++ с некоторыми заголовочными файлами и двумя файлами cpp, один из которых включает в себя ma… 93 голоса 2 ответа С++ ожидаемое первичное выражение перед “int” Домашнее задание на неделю – создать базовую программу на языке С++ с просьбой ввести длину в футах и ​​дюймах, а затем вывести их в сантиметрах; мы должны создать исключение и обработать его, если… 123 голоса 2 ответа g++ с Dev-С++ Понятно, что ошибка [Linker error] undefined reference to ‘__gxx_personality_v0’ вызвано попыткой скомпилировать программу C++ с компилятором gcc. Это было бы решено путем компиляции программы с по… -7 голосов 1 ответ динамический стек, ошибка при компиляции, dev-компилятор и g++ Это динамический стек, и есть некоторые функции от 1 до 6 и 0 выход, когда я выбираю 6, он показал эту ошибку “Ошибка сегментации (ядро сбрасывается)”, у меня есть компилятор g++ и я компилирую в н… 123 голоса 2 ответа Как использовать Linux lib, например timeval в windows как использовать Linux lib, например timeval в windows Я установил cygwin и dev С++ Мне не нравится компромисс в cygwin complile под dev С++ всегда erro like `gettimeofday ‘uneclared (сначала испол… -5 голосов 2 ответа ERROR: ISO C++ запрещает инициализацию в массиве new Ниже приведен мой код: #include #include int main() { int *x= new int[10] (0,1,2,3,4,5,6,7,8,9);//error observed here for(int i=0;i<9;i++) { cout<<x> -5 голосов 1 ответ Сбой программы при попытке считывания чисел с помощью scanf Такое сообщение появляется, когда я запускаю этот код. Project.exe перестает работать Некоторые из моих других кодов работают, но это, похоже, вызывает у меня ошибку. #include #inclu… 104 голоса 1 ответ У меня есть цикл for, который отказывается оставаться в определенных пределах. Пределы были проверены (путем печати) во время выполнения Я вставляю фрагмент кода, который вызывает проблему. Пожалуйста, сосредоточьтесь на незарегистрированном коде, так как это фактический код. Прокомментированный код был там, чтобы помочь мне отлажив… 103 голоса 2 ответа Orwell Dev C++ не работает с C++ 11 Я пытаюсь использовать любую из функций C++ 11 в Orwell Dev C++, но не повезло. Я установил версию с minGW и независимо от того, что я установил в параметрах компилятора, я просто получаю сообщение… 80 голосов 1 ответ Ошибка сегментации/сбой Dev C Эй, ребята, поэтому я пытаюсь сделать домашнее задание, и я не могу найти фатальную ошибку в моей программе весь день. Позвольте мне объяснить: во-первых, вы даете количество строк, col, а затем яч… 92 голоса 1 ответ regex.h в dev-С++ (windows) Я пытаюсь использовать регулярное выражение в программе ac. Я использую Windows 10 и Dev-С++. когда я добавляю заголовочный файл для регулярного выражения, т.е. #include это дает мн… 82 голоса 4 ответа Scanf не сканирует символ% c, но пропускает утверждение, почему? Я написал программу с использованием оператора case switch и попросил ввести символ для ввода, но он не запрашивает символ в окне консоли, но полностью пропускает его int main() { float a, b, ans; … -7 голосов 1 ответ OpenGL никакого рисунка не происходит Я использую OpenGL с C++ в dev- C++ IDE. Когда я рисую круг, ничего не происходит, что может быть неправильным? int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, in… 114 голосов 1 ответ Запуск проекта в Dev С++ У меня есть папка, содержащая несколько файлов .h и .cpp вместе с make файлом. Как я могу запустить их в dev С++. Я только начал использовать dev С++, следовательно, немного об этом не знаю. файл m… 103 голоса 2 ответа Нецелое объявление константы – dev-С++ – ошибка: “тип” не был объявлен в этой области У меня есть нецелое объявление константы в классе. Я продолжаю получать следующее: ComponentClass.h: 14: ошибка: объявление шаблона const typename ComponentClass ::position NULLPOSITION Co… -9 голосов 1 ответ Как сделать вектор полезным в подпрограммах? (С) Это подпрограмма, которая должна принимать значения из основной программы, но “intervalo” – это вектор, похоже, не работает так же, как переменные. void valores(min, max, intrevalo) { int i=0; whil… 80 голосов 1 ответ SDL 1.2 и SMPEG: только черно-белый видеовыход При попытке переноса SMPEG на SDL 1.2 я использовал SDL_CreateRGBSurface вместо SDL_UpdateTexture. В конце концов, однако, я придумал следующее: front=SDL_CreateRGBSurfaceFrom(context.frame->ima… 81 голос 3 ответа С++ Неопределенные ссылки? Итак, это сегмент моей программы, у меня проблемы с вызовами функций, и мне действительно нужна помощь. Это в основном, чтобы выбрать любую функцию и ввести данные, а затем распечатать эти данные. … 66 голосов 2 ответа (Решено) Как удалить маскировку паролем в С++ Я делаю пользователь и пароль. До этого, когда я вхожу в backspace , вместо того, чтобы стирать пароль, backspace вводит что-то, и я решил использовать ASCII, но я не знаю, как скрипт удаляет парол…

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий