Простой компилятор c для windows 10

Обзор лучших компиляторов кода и IDE для работы с C++, C# и C. С помощью каких программ можно скомпилировать С++ код и что такое компилятор кода для языка программирования C. Рассказываем о лучших компиляторах и инструментах для разработки на С++.

Рассказываем о лучших компиляторах и инструментах для разработки на С++.

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

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

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

Программировать, используя только бинарные символы, конечно, можно. Но это займет неприлично много времени и в несколько раз усложнит процесс разработки программного обеспечения любого порядка (разработчики превратятся в вымирающий вид). Поэтому люди придумали языки программирования более высокого класса, чтобы было легче взаимодействовать с ПК. 

Ассемблер общается с аппаратным обеспечением напрямую. Языкам в духе C и C++ требуется компилятор, который сможет превратить более очеловеченный код в машинный. Похожим образом работают более «высокие» языки наподобие JavaScript и Python. Только они сначала преобразуются в С++, а потом в ассемблер. Все сводится к одному.

И мы снова возвращаемся к процессорам, которые понимают только нули и единицы. Для них нужен переводчик, который будет низводить до примитивного состояния код С++. Это и есть компилятор.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Как скомпилировать С++ 

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

Обычно процесс компиляции заключается в введении команды для запуска компилятора и передачи пути до файла-скрипта. Иногда компиляцию удается запустить через графический интерфейс. Все зависит от используемого ПО.

После запуска интерпретатор кода считывает содержимое файла, находит там директивы и флаги, подключает внешние необходимые библиотеки, а потом передает необходимые данные процессору. Ну а тот уже делает то, что нам вздумалось: пролистает страницу на сайте или запустит игру. 

Топ лучших компиляторов и IDE для C++

Большая часть компиляторов существует в виде программного обеспечения, устанавливаемого в систему. Частенько они объединены с IDE, полноценной средой разработки, которая включает в себя текстовый редактор с подсветкой синтаксиса, автодополнением кода, файловым менеджером и массой других возможностей, необходимых для комфортного программирования. 

Visual Studio Code

Тип: IDE

Цена: Бесплатно

Поддерживаемые платформы: Windows, Linux, macOS

Это популярнейший редактор текста для программистов, который можно превратить в мощную IDE, установив дополнительные плагины. Популярность VS Code обоснована его производительностью, открытым исходным кодом и неограниченной функциональностью. 

Интерфейс приложения VS Code

Удобный, современный интерфейс вкупе с высокой скоростью работы делают VS Code идеальным инструментом для разработки программного обеспечения любого формата, в том числе и на языке С++. 

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

Все это удобство дополняется функцией компиляции языка с помощью специализированного плагина. Все инструменты, необходимые для разработки, при этом доступны в едином интерфейсе.

Microsoft Visual C++

Тип: IDE

Стоимость: Community-версия распространяется бесплатно

Поддерживаемые платформы: Windows

Это проприетарная программная платформа для разработки с использованием языка С++. Также Visual Studio поддерживает другие часто используемые языки: Node.js, Python, а также С#.

Интерфейс приложения Microsoft Visual

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

Тут, как и в VS Code, есть система IntelliSense, помогающая писать код быстрее и эффективнее. Она автоматически дополняет строки кода, проверяет код на наличие ошибок, помогает работать со сторонними API и т.п.

Развиваемая сообществом версия программы распространяется безвозмездно. 

Xcode

Тип: IDE

Стоимость: Бесплатно

Поддерживаемые платформы: macOS

Ключевая IDE компании Apple, разработанная эксклюзивно для macOS. Хоть и основное направление Xcode – работа с языками Objective-C и Swift, в программу встроен быстрый и удобный компилятор С++. Для работы с ним нужно лишь указать соотвествующий формат при создании нового проекта. 

Интерфейс приложения Xcode

В 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++ пользователи программы выделяют следующие аспекты:

  • Легковесность и высокая скорость работы (интерфейса и компилятора). 

  • Портативность. Возможность запускать Dev-C++ без установки.

  • Поддерживает сторонние компиляторы Mingw, Cygwin и другие.

  • Браузер классов, интегрированный дебаггер, автозавершение кода. 

  • Удобный интерфейс управления проектами и настраиваемый текстовый редактор.

Intel C++

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Windows, Linux

Intel C++ (ICC), как понятно из названия, разработан компанией Intel с использованием современных наработок и мощной интеграцией с аппаратными компонентами компании.

В Intel C++ используется мощная система кэширования и SIMD-инструкции. Это позволяет ему компилировать код гораздо быстрее и эффективнее, чем большинству подобных решений. К тому же он удерживает высокую производительность на протяжении всего времени работы, когда другие компиляторы «проседают».

Интерфейс приложения Intel C++

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

Clang создавался в качестве альтернативы GNU Compiler Collection. Продукт поддерживает большую часть флагов компиляции и неофициальных расширений для программного языка. Продукт развивается силами разработчиков огромного числа крупных корпораций, включая Apple, Microsoft, Google, ARM, Sony, Intel, AMD и других. Исходный код открыт.

Clion

Тип: IDE

Стоимость: от 14 100 рублей

Поддерживаемые платформы:

Clion – это полнофункциональная кроссплатформенная среда для разработки приложений на языке C++. В нее включена поддержка современных стандартов программного языка С++, технологий libC++ и Boost. 

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

Интерфейс приложения Clion

Clion упрощает процесс разработки программного обеспечения за счет использования CMake и Gradle. Разработка компании JetBrains идеально подходит для комфортного управления всеми аспектами приложения с клавиатуры, тестирования кода с использованием технологий Google Test, интеграции VCS, Git< Boost.Test и других фреймворков.

Лучшие сервисы-компиляторы

Компилировать код можно не на жестком диске своего ПК, а онлайн, используя специализированные сервисы. Компилятор находится на сервере разработчика и выполняет все необходимые функции за вас. Правда, функциональность таких сервисов обычно заметно ограничена. Рассчитывать на полную поддержку всех используемых библиотек не стоит, но для быстрого тестирования кода и изучения языка такие компиляторы подходят идеально.

Codepad

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Любой браузер

Онлайн-сервис для компиляции и интерпретации C++ через браузер, разработанный независимым разработчиком Стивеном Хэйзелом, одним из основателей компании Sauce Labs.

Интерфейс сервиса Codepad

Одним из преимуществ Codepad является функция коллаборации. Можно создавать проекты с собственными субдоменами для приватной совместной работы с коллегами. 

Принцип работы Codepad простой: в текстовое поле сайта нужно вставить сгенерированный ранее код и нажать на кнопку Submit. Утилита в ответ отправит вывод (результат работы) команды. Потом можно оставить комментарий под написанным кодом и сгенерировать постоянную ссылку для взаимодействия с другими программистами.

Также Codepad поддерживает C, Haskell, Lua, Python и другие языки, над которыми можно работать в команде прямо из браузера. 

CPP.sh

Тип: Компилятор

Стоимость: Бесплатно

Поддерживаемые платформы: Любой браузер

Еще одна онлайн-альтернатива для тех, кто хочет разрабатывать ПО на языке C++ и кому нужен простой и быстрый компилятор.

Интерфейс CPP.sh состоит из двух ключевых фрагментов: текстовое поле, куда можно прописать код, и панель с настройками. Текстовый редактор сервиса поддерживает подсветку синтаксиса и возможность протестировать практически любой код прямо в браузере, не используя дополнительное ПО. 

Интерфейс сервиса C++ Shell

В настройках можно выбрать стандарт языка (С++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» и смотрите на результат. Никаких настроек, опций и дополнительных функций тут нет. Максимально примитивный, но все еще эффективный инструмент. 

Вместо заключения

На этом все. Каждый из описанных выше компиляторов используется тысячами разработчиков и отлично подходит для разработки на С++. Остается только опробовать их и выбрать наиболее подходящий вариант для вашего уровня, типа задач и рода деятельности.

VDS Timeweb арендовать

C — это простой процедурный язык программирования общего назначения. Он достаточно прост в освоении. В то же время он мощный, чтобы его можно было использовать для создания любой компьютерной программы.

C++ — это объектно-ориентированный язык программирования, который изначально был создан как надмножество C. Языки C и C++ являются одними из самых популярных технологий, используемых для написания программ.

Эта статья призвана помочь вам выбрать бесплатный компилятор для C / C++ для различных операционных систем.

  • Open Watcom V2 Fork
  • Microsoft Visual Studio Community
  • Clang: Фронтенд языка программирования C для LLVM
  • MinGW-w64
  • AMD x86 Open64 Compiler Suite
  • Компилятор C/C++ Open Source Watcom / Open Watcom
  • Компилятор Digital Mars C/C++ (замена Symantec C++)
  • UPS Debugger (интерпретатор C)
  • The BDS C Compiler
  • Компилятор C / C++ Bloodshed Dev
  • Компилятор C Orange
  • DeSmet C
  • Apple Xcode для Mac OS X
  • Tiny C Compiler — самый компактный Linux C компилятор
  • Portable Object Compiler
  • C & C++ компиляторы Mingw32
  • Компилятор C / C++ GNU
  • Компилятор C Pelles
  • Компилятор C Compaq
  • Интерпретатор C / C++ Ch Embeddable (стандартная версия)
  • Компиляторы C и C++ DJGPP
  • Cilk — ANSI компилятор на основе C
  • Sphinx — компилятор C—
  • Компилятор C LSI C-86
  • Кросс-компилятор C SDCC
  • Компилятор C LADSoft CC386
  • Проект Cygwin (компиляторы C и C ++)
  • Компилятор C LCC-Win32
  • LCC — перенанаправляемый компилятор для ANSI C
  • Cyclone C

Он может работать и создавать исполняемые файлы под Windows (16-разрядные, 32-разрядные и 64-разрядные версии), Linux (32-разрядные и 64-разрядные версии), OS / 2 и MS-DOS (16-разрядные и 32-разрядные режимы). Стоит пояснить, что Watcom — это был известный коммерческий компилятор, пока первоначальные разработчики не прекратили его продажи и не опубликовали исходный код (в соответствии с публичной лицензией Sybase Open Watcom).

Для индивидуальных или начинающих программистов Microsoft Visual Studio Community включает в себя много важных инструментов из коммерческих версий проекта. Вы получите в свое распоряжение IDE, отладчик, оптимизирующий компилятор, редактор, средства отладки и профилирования. С помощью этого пакета можно разрабатывать программы для настольных и мобильных версий Windows, а также Android. Компилятор C++ поддерживает большинство функций ISO C++ 11, некоторые из ISO C++ 14 и C++ 17. В то же время компилятор C уже безнадежно устарел и не имеет даже надлежащей поддержки C99.

Программное обеспечение также поставляется с поддержкой построения программ на C#, Visual Basic, F# и Python. В то время, когда я писал эту статью, на сайте проекта утверждалось, что Visual Studio Community 2015 «бесплатный инструмент для индивидуальных разработчиков, проектов с открытым исходным кодом, научных исследований, образовательных проектов и небольших профессиональных групп».

Clang — компилятор C, C++, Objective C и Objective C++, разработанный под Apple. Это часть проекта LLVM. Clang реализует различные стандарты ISO C и C++, такие как C11, ISO C++ 11, C++ 14 и частично C++ 1z.

Он также поддерживает расширения, которые можно найти в семействе компиляторов C GNU. Компилятор C для Windows выпущен под лицензией BSD. К сожалению, на момент написания этой статьи, он предоставляется только в исходной форме, и вам придется собирать его самостоятельно.

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

Это версия набора компиляторов 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.

Является бесплатным компилятором для Windows 7 с открытым исходным кодом. Он генерирует код для Win32, Windows 3.1 (Win16), OS / 2, Netware NLM, MSDOS (16-битный и 32-битный режим) и т. д. Watcom был очень популярным компилятором несколько лет назад до тех пор, пока Sybase не закрыла его. Он также включает в себя довольно известный STLport (реализация библиотеки стандартных шаблонов C++). Обновление: этот проект, похоже, застопорился, и в настоящее время запущен новый проект Open Watcom V2 Fork (описан выше).

Digital Mars C / C ++ является заменой Symantec C++ с поддержкой компиляции программ для Win32, Windows 3.1, MSDOS и 32-разрядных расширенных MSDOS. Если используемый ПК не имеет процессора с плавающей запятой (машины pre-Pentium), можно связать эмуляцию с плавающей запятой в вашей программе. Компилятор поддерживает определение C++ из аннотированного руководства по C++ (ARM) и расширенные функции языка AT & T версии 3.0, включая шаблоны, вложенные классы, вложенные типы, обработку исключений и идентификацию типа во время выполнения.

Это графический отладчик уровня исходного кода для X Window, который содержит встроенный интерпретатор языка C. Он может обрабатывать один или несколько исходных файлов. Можно использовать его для создания исполняемого файла с байтовым кодом и выполнения интерпретатора в этом исполняемом файле. Если вам нужен интерпретатор для отладки или создания прототипов программ, или просто для изучения языка, попробуйте этот инструмент. Он поддерживает следующие платформы: Solaris, SunOS, Linux, FreeBSD, BSD / OS и некоторые другие Unix-платформы.

Помните старый (популярный) компилятор C BDS для систем CP / M 8080 / Z80? В настоящее время этот компилятор языка C находится в публичном доступе, в комплекте с исходным кодом языка ассемблера. Пакет представляет собой розничную версию компилятора с компоновщиком и руководством пользователя. Его можно использовать для простой генерации кода 8080/8085 / Z80 для встраиваемых систем (то есть создавать собственные процедуры для замены любого кода библиотеки, который обращается к функциям операционной системы).

Это интегрированная среда разработки Win32, включающая в себя компилятор C++ egcs и отладчик GNU из среды Mingw32. А также редактор и другие средства, облегчающие разработку программ с использованием компилятора Mingw32 gcc на платформе Windows. Он также содержит программу установки для приложений.

Он работает как в Windows, так и в DOS, имеет интегрированную среду разработки с редактором программ (с подсветкой синтаксиса и автоматическим завершением кода). Он может генерировать программы для Win32 и MSDOS, а также файлы Intel и Motorola hex (что полезно, если вы пишете программы для встроенных систем). Для вывода MSDOS ваши программы будут использовать расширитель DOS.

DeSmet C должен быть знаком тем, кто программировал на C в 1980-х годах. Это компилятор C для MSDOS. Он был выпущен под лицензией GNU GPL и поставляется с руководствами, редактором и сторонним оптимизатором.

Xcode — это интегрированная среда разработки Apple, которая включает в себя редактор с подсветкой синтаксиса, систему управления сборкой, отладчик, компилятор C GNU (gcc), конструктор интерфейса, AppleScript Studio, поддержку разработки на Java, инструменты разработки WebObjects. Чтобы получить в свое распоряжение данные инструменты необходимо быть участником Apple Developer Connection (ADC). Но онлайн-членство является бесплатным.

Этот небольшой компилятор C для Linux и Windows генерирует оптимизированные двоичные файлы x86. Утверждается, что он собирает, компонует и связывает код в несколько раз быстрее, чем GCC. В настоящий момент разработчики стремятся обеспечить соответствие ISO C99. Компилятор также включает необязательную проверку границ. Он обрабатывает файлы скриптов C (просто добавьте в Linux shebang код #!/usr/local/bin/tcc -run в первую строку исходного кода на C, чтобы он выполнялся напрямую). TCC распространяется под лицензией GNU General Public License.

Это набор библиотек классов и компилятор Objective C, который преобразует код Objective C в простой C-код. Работает на Windows, Linux, OS / 2, Macintosh и т. д.

Эта система поставляется с компилятором GNU C / C++, который можно использовать для создания исполняемых файлов Win32. Она содержит собственный <windows.h>, который находится в открытом доступе. Предполагается, что приложения, созданные с использованием этой системы, будут быстрее, чем, те которые созданы с помощью Cygwin32, и они не ограничиваются положениями лицензии GNU. Mingw32 поставляется с инструментами для обработки текста (sed, grep), генератором лексического анализатора (flex), генератором парсеров (bison) и т. д. Mingw32 также поставляется с компилятором ресурсов Windows.

На странице компилятора C GNU можно получить ссылки на бинарные файлы и исходный код для компилятора GNU C. Также можно использовать приведенные в этой статье ссылки на наиболее часто запрашиваемые бинарные версии (MSDOS и Win32).

Еще один компилятор C, основанный на LCC (смотрите также LCC-Win32). Он включает в себя компилятор C, компоновщик, компилятор ресурсов, сообщений, утилиту make и другие инструменты. Он компилирует код для Windows и Pocket PC.

Пользователи Linux / Alpha теперь могут бесплатно скачивать и использовать компилятор Compaq, просто заполнив форму и приняв лицензионное соглашение. Компилятор может использоваться для генерации любых программ, коммерческих или иных. Он включает в себя математическую библиотеку и отладчик (ladebug), перенесенный из True64 Unix. Он поставляется с обычными справочными страницами, а также справочником по языку и руководством программиста.

Интерпретатор C / C++, поддерживающий стандарт ISO 1990 C (C90), основные функции C99, классы C++, а также расширения к языку С, такие как вложенные функции, строковый тип и т. д. Он может быть встроен в другие приложения и аппаратные средства, использоваться в качестве языка сценариев. Код C / C++ интерпретируется напрямую без компиляции промежуточного кода. Поскольку этот интерпретатор поддерживает Linux, Windows, MacOS X, Solaris и HP-UX, созданный вами код можно перенести на любую из этих платформ. Стандартная версия бесплатна для личного, академического и коммерческого использования. Для загрузки пакета необходимо зарегистрироваться.

Это система разработки, основанная на хорошо известном компиляторе C / C++ GNU. Она генерирует 32-разрядные исполняемые файлы MSDOS, которые являются файлами с длинными именами Windows 95. Это очень функциональная система с IDE, графическими библиотеками, генераторами лексического анализатора (flex), генераторами парсеров (bison), утилитами обработки текста и так далее. Компилятор языка C, утилиты и библиотеки поставляются с исходным кодом.

Cilk — это язык на основе ANSI C, который может использоваться для многопоточного параллельного программирования. Это особенно эффективно для использования динамического, высоко асинхронного параллелизма в стиле параллельных данных или передачи сообщений. На официальном сайте упоминается, что Cilk уже используется для разработки трех шахматных программ мирового класса: StarTech, Socrates и Cilkchess.

Это своего рода сочетание компилятора C и ассемблера, который позволяет «создавать программы с возможностями и читабельностью C, сохраняя при этом эффективность языка ассемблера». Он может создавать исполняемые файлы MSDOS или файлы .OBJ, которые можно применять вместе с другими компоновщиками для создания исполняемого файла. По приведенной выше ссылке можно найти исходный код и документацию для компилятора. Если вы хотите получить предварительно скомпилированный бинарный файл, это можно сделать на неофициальном сайте компилятора C— Sphinx.

Сайт этого компилятора написан на японском языке. Он выглядит как кросс-компилятор, позволяющий генерировать код для ROM. Старая версия компилятора (3.30c) предоставляется бесплатно. Бесплатная версия работает только на MSDOS.

Это кросс-компилятор C, предназначенный для микропроцессоров Intel 8051, DS390, Z80, HC08 и PIC. Он также может быть переназначен для других 8-битных микроконтроллеров или ОСТО. SDCC поставляется с перенастраиваемым ассемблером и компоновщиком, отладчиком исходного уровня и симулятором. Библиотеки совместимы со стандартом C99. Исходный код для компилятора доступен под лицензией GPL. Поддерживаются такие платформы, как Linux, Windows, Mac OS X, Alpha, Sparc и другие.

Это компилятор ANSI C для MSDOS / DPMI и Win32, который поставляется с библиотекой среды выполнения, компоновщиком, отладчиком, DOS-расширителем (версия MSDOS), IDE (версия Win32) и утилитой make. Также доступен исходный код. При работе в режиме совместимости с C99 он компилирует большинство конструкций C99.

Этот «проект» включает в себя коммерческий компилятор (GNU C / C++), который генерирует графический интерфейс Win32 и консольные приложения. Предоставляется исходный код компилятора, библиотек и инструментов. Обратите внимание, что опция по умолчанию в этом пакете требует от вас распространять исходный код, если вы компилируете и связываетесь со своими библиотеками. Существует также специальная вызываемая опция, которая задает возможность связи с альтернативными библиотеками, позволяя распространять свои приложения без источников.

Это компилятор C для Windows, который генерирует графический интерфейс Win32 и консольные приложения. Он поставляется со своим собственным компоновщиком, IDE, отладчиком, редактором и компилятором ресурсов. LCC-Win32 основан на компиляторе LCC и является бесплатным только для некоммерческого использования.

LCC — это компилятор C (только исходный код), который генерирует код для Alpha, Sparc, MIPS R3000 и Intel x86. Он является основой как минимум для двух других компиляторов Win32 C (также описанных выше).

Cyclone C не является компилятором ANSI C в строгом значении, а представляет собой компилятор «безопасного диалекта» C. Он обеспечивает безопасность типов, имеет множество проверок для защиты от переполнения буфера, связанных с массивами нарушений и т. д. В настоящее время он работает на Linux и Windows (в последнем случае через Cygwin), для него требуется наличие в системе инструментов компиляции GNU.

Это IDE на базе Macintosh, компилятор и отладчик для программ на C. Он включает в себя редактор с подсветкой синтаксиса, ANSI C компилятор, компилятор для языка визуализации ALPHA, редактор графов, обратимый виртуальный процессор и т. д.

Обратите внимание, что программы в код, который будет выполняться для виртуального ЦПУ. Виртуальная машина и отладчик позволяют выполнять код вперед и назад и поддерживать многозадачность. IDE поставляется с анимированными алгоритмами, примерами исходного кода таких игр, как Tetris, Checkers и других. IDE полезна для проверки и отладки исходного кода, поиска процессов, неэффективно использующих память и т. д.

Примечание: этот проект был прекращен.

Старый, но проверенный Turbo C 2.01 для DOS доступен бесплатно по решению новых владельцев Borland. Это был популярный компилятор C во времена MSDOS, известный своей быстрой сборкой, интегрированной средой разработки («IDE») и графической библиотекой (DOS).

Leader badge

This project is in the process of moving to osdn.net/projects/mingw, you can continue to follow us there.

MinGW: A native Windows port of the GNU Compiler Collection (GCC), with freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All of MinGW’s software will execute on the 64bit Windows platforms.

License

BSD License, Public Domain, GNU General Public License version 2.0 (GPLv2), MIT License, GNU General Public License version 3.0 (GPLv3)

Open LMS leverages open-source software to deliver an effective and engaging learning experience. Icon

As the largest commercial provider of hosting and support services for the open-source Moodle™ learning platform, we help organizations and institutions deliver great learning experiences without complexities

User Ratings


4.2

out of 5 stars

★★★★★

★★★★

★★★

★★

ease
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5

3 / 5

features
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5

3 / 5

design
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5

3 / 5

support
1 of 5
2 of 5
3 of 5
4 of 5
5 of 5

3 / 5

User Reviews

  • All
  • ★★★★★
  • ★★★★
  • ★★★
  • ★★
  • For all of those struggling to install this, just AVOID at all cost and simply install the binaries version from github/nixman. These are newer versions with much better support

Read more reviews >

Additional Project Details

Languages

English

Intended Audience

Information Technology, Education, Developers

User Interface

Win32 (MS Windows)

Programming Language

Fortran, Pascal, C++, Ada, C, Java

2000-02-09

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


Microsoft

Последнее обновление: 01.01.2023

Установка компилятора

Рассмотрим создание первой простейшей программы на языке Си с помощью компилятора GCC, который на сегодняшний день является одим из
наиболее популярных компиляторов для Cи и который доступен для разных платформ. Более подобному информацию о GCC можно получить на официальном сайте проекта https://gcc.gnu.org/.

Набор компиляторов GCC распространяется в различных версиях. Для Windows одной из наиболее популярных версий является пакет средств для разработки от
некоммерческого проекта MSYS2. Следует отметить, что для MSYS2 требуется 64-битная версия Windows 7 и выше (то есть Vista, XP и более ранние версии не подходят)

Итак, загрузим программу установки MSYS2 с официального сайта MSYS2:

Установка MSYS для разработки под С

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

Установка пакета mingw-w64 и msys2 на Windows

На первом шаге установки будет предложено установить каталог для установки. По умолчанию это каталог C:msys64:

Установка компиляторов Си MSYS2 на Windows

Оставим каталог установки по умолчанию (при желании можно изменить). На следующем шаге устанавливаются настройки для ярлыка для меню Пуск, и затем собственно будет произведена установка.
После завершения установки нам отобразить финальное окно, в котором нажмем на кнопку Завершить

Установка компиляторов MSYS2 на Windows

После завершения установки запустится консольное приложение MSYS2.exe. Если по каким-то причинам оно не запустилось,
то в папке установки C:/msys64 надо найти файл usrt_64.exe:

компиляторы MSYS2.exe на Windows

Теперь нам надо установить собственно набор компиляторов GCC. Для этого введем в этом приложении следующую команду:

pacman -S mingw-w64-ucrt-x86_64-gcc

Для управления пакетами MSYS2 использует пакетный менеджер Packman. И данная команда говорит пакетному менелжеру packman установить пакет mingw-w64-ucrt-x86_64-gcc,
который представляет набор компиляторов GCC (название устанавливаемого пакета указывается после параметра -S).

Установка компиляторов MSYS2 на Windows

и после завершения установки мы можем приступать к программированию на языке Си. Если мы откроем каталог установки и зайдем в нем в папку C:msys64ucrt64bin,
то найдем там все необходимые файлы компиляторов:

Компилятор GCC на Windows

В частности, файл gcc.exe как раз и будет представлять компилятор для языка Си.

Далее для упрощения запуска компилятора мы можем добавить путь к нему в Переменные среды. Для этого можно в окне поиска в Windows ввести «изменение переменных среды текущего пользователя»:

изменение переменных среды текущего пользователя в Windows

Нам откроется окно Переменныех среды:

Добавление GCC в переменные среды на Windows

И добавим путь к компилятору C:msys64ucrt64bin:

Определение пути к компилятору GCC в переменных среды на Windows

Чтобы убедиться, что набор компиляторов GCC успешно установлен, введем следующую команду:

В этом случае нам должна отобразиться версия компиляторов

Версия компиляторов MSYS2 GCC на Windows

Создание первой программы

Итак, компилятор установлен, и теперь мы можем написать первую программу. Для этого потребуется любой текстовый редактор для набора исходного кода.
Можно взять распространенный редактор Visual Studio Code или даже обычный встроенный Блокнот.

Итак, создадим на жестком диске папку для исходных файлов. А в этой папке создадим новый файл, который назовем hello.c.

Первая программа на Си в Windows

В моем случае файл hello.c находится в папке C:c.

Теперь определим в файле hello.c простейший код, который будет выводить строку на консоль:

#include <stdio.h>			// подключаем заголовочный файл stdio.h
int main(void)						// определяем функцию main
{									// начало функции
	printf("Hello METANIT.COM!n");	// выводим строку на консоль
	return 0;						// выходим из функции
}									// конец функции

Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка

#include <stdio.h>

Директива include подключает заголовочный файл stdio.h, который содержит определение функции printf, которая нужна для вывода строки на консоль.

Далее идет определение функции int main(void). Функция main должна присутствовать в любой программе на Си, с нее собственно и начинается
выполнение приложения.

Ключевое слово int в определении функции int main(void) говорит о том, что функция возвращает целое число.
А слово void в скобках указывает, что функция не принимает параметров.

Тело функции main заключено в фигурные скобки {}. В теле функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка «Hello METANIT.COM!».

В конце осуществляем выход из функции с помощью оператора return. Так как функция должна возвращать целое число, то после return указывается число 0.
Ноль используется в качестве индикатора успешного завершения программы.

После каждого действия в функции ставятся точка с запятой.

Язык программирования Си в Visual Studio Code

Теперь скомпилируем этот файл. Для этого откроем командную строку Windows и вначале с помощью команды cd перейдем к папке с исходным файлом:

Чтобы скомпилировать исходный код, необходимо компилятору gcc передать в качестве параметра файл hello.c:

После этого будет скомпилирован исполняемый файл, который в Windows по умолчанию называется a.exe. И мы можем обратиться к этому файлу

и в этом случае консоль выведет строку «Hello METANIT.COM!», собственно как и прописано в коде.

Стоит отметить, что мы можем переопределить имя компилируемого файла с помощью флага -o и передав ему имя файла, в который будет компилироваться программа.
Например:

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

Запуск компилятора GCC на Windows

Чтобы не приходилось вводить две команды: одну для компиляции программы и другую для ее запуска, мы можем объединить команды:

gcc hello.c -o hello.exe && hello

Эта команда сначала компилирует код в файл hello.exe, а потом сразу запускает его.

How to Install C and C++ Compilers on Windows

If you want to run C or C++ programs in your Windows operating system, then you need to have the right compilers.

The MinGW compiler is a well known and widely used software for installing GCC and G++ compilers for the C and C++ programming languages.

But many devs face difficulties when installing the compiler, so I am going to show you all the steps to do so in this article with screenshots to help you get it done.

I will be using Windows 11, but the same process is applicable for all other Windows operating systems unless you are using Windows XP (You need to change some steps in Windows XP).

If you’d like to watch the video I made on this topic as well, here it is:

Install MSYS2

Firstly we need to download an executable file from MSYS2. Go to the official website of MSYS2: https://www.msys2.org/. The website looks like below as of today.

Screenshot--8-

Scroll down a little bit until you find the download button for the executable file.

Screenshot--9-

Simply click on the installer button and save the installer file in any place you want.

Screenshot--10--1

Finish downloading the executable file. It should not take much time depending on your internet speed.

Screenshot--11-

After downloading the file, we will get this executable file.

Screenshot--12-

Double click on the executable file. Then click Next.

Screenshot--13-

Keep the name as it is, and click Next.

Screenshot--14--1

Keep all this as it is, and click Next.

Screenshot--15-

Give it some time to finish the installation process.

Screenshot--16-

If you keep the checkmark, then the MSYS2 terminal will open once you click Finish.

Screenshot--17-

I prefer to do it this way, but if you want to do the remaining tasks later, then you need to open the terminal by yourself from the start menu.

In that case, you have to click the start button > Search for MSYS2 and click on the terminal like in the following picture:

Screenshot--26-

Let me assume that we have opened the MSYS2 MSYS terminal successfully.

Apply the command pacman -Syu to update the package database and the base packages.

Screenshot--19-

Type Y and press the enter key if you get this type of installation prompt.

Screenshot--20-Screenshot--21-Screenshot--22-

Type Y and press the enter key.

Screenshot--23-Screenshot--24-

The terminal will be closed. We have to open the terminal manually and update the rest of the packages.

Click the start button.

Screenshot--25-

Search the folder named MSYS2 64bit. Click on the folder to expand and get the terminal. Open the terminal by clicking MSYS2 MSYS.

Screenshot--26--1

Update the rest of the packages by applying the command, pacman -Su. You might need to apply the command pacman -Sy if the terminal tells you to do that.

Screenshot--27-

If you get any installation prompt, then you need to type Y or y and press the enter key.

Screenshot--28-Screenshot--29-

Wait a little to finish the installation.

Screenshot--30-Screenshot--31-

Close the window after finishing the installation.

Click the start button. Find the MSYS2 64bit folder. Click on that folder to expand it.

Screenshot--32-

If you are using a 64 bit operating system like I am, then we need to use the MSYS2 MinGW x64 terminal. Click on the terminal to open that.

Screenshot--33-

⚠️ But, if you are using a 32 bit operating system, then you have to use the MSYS2 MinGW x86 terminal. Then, you need to open that terminal.

Screenshot--34-

As I am using a 64 bit operating system, I have opened the terminal for 64 bit. Apply the command pacman -S mingw-w64-x86_64-gcc to install the compilers.

⚠️ If you are using a 32 bit operating system, then you have to apply the command pacman -S mingw-w64-i686-gcc in your 32 bit terminal.

Screenshot--35-

Wait for a little while.

Screenshot--36-

Type Y or y and press the enter key if you get the installation prompts.

Screenshot--37-Screenshot--38-

Give it some time to finish the installation process.

Screenshot--39-Screenshot--39--1

You’ve now finished installing the compilers.

How to Install the Debugger

If you are using a 64 bit operating system like I am, then you have to apply the command pacman -S mingw-w64-x86_64-gdb.

⚠️ If you are using a 32 bit operating system, then you have to apply the command pacman -S mingw-w64-i686-gdb in your 32 bit terminal.

Screenshot--41-

If you get any installation prompt, then simply type Y or y and press the enter key.

Screenshot--42-Screenshot--38--1

Give it some time to finish the installation.

Screenshot--44-Screenshot--45-

You can close the terminal.

How to Add the Directory to the Path of the Environment Variables

Open the file explorer.

Screenshot--46-

I am assuming that you have installed the MSYS into the default directory like I have. If you used custom directories, then you need to go to the directory where you installed it.

Screenshot--47-

If you are using a 64 bit operating system like I am, then go to the mingw64 folder.

⚠️ If you are using a 32 bit operating system, then go to the mingw32 folder.

Screenshot--48-

We have to go to the binary folder now. Go to the bin folder.

Screenshot--49-

⚠️ If you are using a 32 bit operating system, then you have to go into your mingw32 folder > bin folder.

Copy the directory.

Screenshot--51-

⚠️ If you are using a 32 bit operating system, and you also installed the MSYS2 in the default directory, then your directory should be like the following:

C:msys64mingw32bin

Open the Advanced System Settings. You can do that in many ways. A simple way is to simply click the start button and search for it like the below screenshot.

Screenshot--52-

Click Environment Variables from the Advanced tab.

Screenshot--54-

Click on Path and select that. Then click Edit.

Screenshot--57-

A window will appear as below:

Screenshot--58-

Click New.

Screenshot--59-

A blank box will appear.

Screenshot--60-

Paste the directory here.

Screenshot--61-Screenshot--62-

Click OK.

Screenshot--63-

Click OK.

Screenshot--65-

Click OK.

Screenshot--66-

If you want to get all the steps in a video, then you can watch this video as well.

Check the Install

Now it is time to check whether we have successfully installed all of the above or not.

Open the terminal / PowerShell / CMD and apply the commands serially:

For checking the GCC version:

gcc --version

Screenshot--68-

For checking the G++ version:

g++ --version

Screenshot--69-

For checking the GDB version:

gdb --version

Screenshot--70-

Conclusion

I hope this article helps you install your compilers on the Windows operating system for C and C++ programs.

Thanks a lot for reading the entire article. If you have any suggestions then you may get in touch with me through my twitter or LinkedIn accounts.

If you are into open source, then you can also follow me on GitHub as I am very active in contributing to open source projects.

If you like programming-related tutorials, then I have two YouTube channels. In one channel, I publish Bengali content regularly, whereas I publish English content regularly in my other channel.

Have a wonderful day!



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

How to Install C and C++ Compilers on Windows

If you want to run C or C++ programs in your Windows operating system, then you need to have the right compilers.

The MinGW compiler is a well known and widely used software for installing GCC and G++ compilers for the C and C++ programming languages.

But many devs face difficulties when installing the compiler, so I am going to show you all the steps to do so in this article with screenshots to help you get it done.

I will be using Windows 11, but the same process is applicable for all other Windows operating systems unless you are using Windows XP (You need to change some steps in Windows XP).

If you’d like to watch the video I made on this topic as well, here it is:

Install MSYS2

Firstly we need to download an executable file from MSYS2. Go to the official website of MSYS2: https://www.msys2.org/. The website looks like below as of today.

Screenshot--8-

Scroll down a little bit until you find the download button for the executable file.

Screenshot--9-

Simply click on the installer button and save the installer file in any place you want.

Screenshot--10--1

Finish downloading the executable file. It should not take much time depending on your internet speed.

Screenshot--11-

After downloading the file, we will get this executable file.

Screenshot--12-

Double click on the executable file. Then click Next.

Screenshot--13-

Keep the name as it is, and click Next.

Screenshot--14--1

Keep all this as it is, and click Next.

Screenshot--15-

Give it some time to finish the installation process.

Screenshot--16-

If you keep the checkmark, then the MSYS2 terminal will open once you click Finish.

Screenshot--17-

I prefer to do it this way, but if you want to do the remaining tasks later, then you need to open the terminal by yourself from the start menu.

In that case, you have to click the start button > Search for MSYS2 and click on the terminal like in the following picture:

Screenshot--26-

Let me assume that we have opened the MSYS2 MSYS terminal successfully.

Apply the command pacman -Syu to update the package database and the base packages.

Screenshot--19-

Type Y and press the enter key if you get this type of installation prompt.

Screenshot--20-Screenshot--21-Screenshot--22-

Type Y and press the enter key.

Screenshot--23-Screenshot--24-

The terminal will be closed. We have to open the terminal manually and update the rest of the packages.

Click the start button.

Screenshot--25-

Search the folder named MSYS2 64bit. Click on the folder to expand and get the terminal. Open the terminal by clicking MSYS2 MSYS.

Screenshot--26--1

Update the rest of the packages by applying the command, pacman -Su. You might need to apply the command pacman -Sy if the terminal tells you to do that.

Screenshot--27-

If you get any installation prompt, then you need to type Y or y and press the enter key.

Screenshot--28-Screenshot--29-

Wait a little to finish the installation.

Screenshot--30-Screenshot--31-

Close the window after finishing the installation.

Click the start button. Find the MSYS2 64bit folder. Click on that folder to expand it.

Screenshot--32-

If you are using a 64 bit operating system like I am, then we need to use the MSYS2 MinGW x64 terminal. Click on the terminal to open that.

Screenshot--33-

⚠️ But, if you are using a 32 bit operating system, then you have to use the MSYS2 MinGW x86 terminal. Then, you need to open that terminal.

Screenshot--34-

As I am using a 64 bit operating system, I have opened the terminal for 64 bit. Apply the command pacman -S mingw-w64-x86_64-gcc to install the compilers.

⚠️ If you are using a 32 bit operating system, then you have to apply the command pacman -S mingw-w64-i686-gcc in your 32 bit terminal.

Screenshot--35-

Wait for a little while.

Screenshot--36-

Type Y or y and press the enter key if you get the installation prompts.

Screenshot--37-Screenshot--38-

Give it some time to finish the installation process.

Screenshot--39-Screenshot--39--1

You’ve now finished installing the compilers.

How to Install the Debugger

If you are using a 64 bit operating system like I am, then you have to apply the command pacman -S mingw-w64-x86_64-gdb.

⚠️ If you are using a 32 bit operating system, then you have to apply the command pacman -S mingw-w64-i686-gdb in your 32 bit terminal.

Screenshot--41-

If you get any installation prompt, then simply type Y or y and press the enter key.

Screenshot--42-Screenshot--38--1

Give it some time to finish the installation.

Screenshot--44-Screenshot--45-

You can close the terminal.

How to Add the Directory to the Path of the Environment Variables

Open the file explorer.

Screenshot--46-

I am assuming that you have installed the MSYS into the default directory like I have. If you used custom directories, then you need to go to the directory where you installed it.

Screenshot--47-

If you are using a 64 bit operating system like I am, then go to the mingw64 folder.

⚠️ If you are using a 32 bit operating system, then go to the mingw32 folder.

Screenshot--48-

We have to go to the binary folder now. Go to the bin folder.

Screenshot--49-

⚠️ If you are using a 32 bit operating system, then you have to go into your mingw32 folder > bin folder.

Copy the directory.

Screenshot--51-

⚠️ If you are using a 32 bit operating system, and you also installed the MSYS2 in the default directory, then your directory should be like the following:

C:msys64mingw32bin

Open the Advanced System Settings. You can do that in many ways. A simple way is to simply click the start button and search for it like the below screenshot.

Screenshot--52-

Click Environment Variables from the Advanced tab.

Screenshot--54-

Click on Path and select that. Then click Edit.

Screenshot--57-

A window will appear as below:

Screenshot--58-

Click New.

Screenshot--59-

A blank box will appear.

Screenshot--60-

Paste the directory here.

Screenshot--61-Screenshot--62-

Click OK.

Screenshot--63-

Click OK.

Screenshot--65-

Click OK.

Screenshot--66-

If you want to get all the steps in a video, then you can watch this video as well.

Check the Install

Now it is time to check whether we have successfully installed all of the above or not.

Open the terminal / PowerShell / CMD and apply the commands serially:

For checking the GCC version:

gcc --version

Screenshot--68-

For checking the G++ version:

g++ --version

Screenshot--69-

For checking the GDB version:

gdb --version

Screenshot--70-

Conclusion

I hope this article helps you install your compilers on the Windows operating system for C and C++ programs.

Thanks a lot for reading the entire article. If you have any suggestions then you may get in touch with me through my twitter or LinkedIn accounts.

If you are into open source, then you can also follow me on GitHub as I am very active in contributing to open source projects.

If you like programming-related tutorials, then I have two YouTube channels. In one channel, I publish Bengali content regularly, whereas I publish English content regularly in my other channel.

Have a wonderful day!



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

Q: What Windows versions are supported?

V uses recent Windows features like UTF-8 and color output support in console, IPv6 and native TLS support on sockets, etc. Windows 10 Fall Creators Update (1709) or later is the recommended Windows version for best compatibility. Previous versions are supported as well, but are not as well tested and may lack some features.


Q: How can I build V?

You will need to install git.

Then, you can install and build V from source (the recommended way of installing it) by launching cmd.exe, cding to your install directory of preference (preferably a path with no spaces or non-ASCII characters) and running these commands:

git clone https://github.com/vlang/v
cd v
.make.bat

The entire process may take anywhere from 5 to 60 seconds, depending on your internet speed.


Q: Do I need to install a C compiler?

Due to its small size and very fast compile speeds, V downloads TCC automatically when running make.bat, and uses it by default in normal (debug) builds. However, V will attempt to use an alternative compiler (if installed) in -prod mode for better optimization, and installing one of these optimizing compilers is recommended.


C Compiler Compile speed Disk usage Optimizations (with -prod)
TCC (default) very fast very low very few
MinGW (GCC/clang) slow medium very many
Visual Studio (MSVC) medium very high many

TCC

TCC is a very lightweight C compiler. Its main advantages are that it takes up very little storage space (~5MB), and compiles much more quickly than the other compilers listed here. However, it has several limitations, and an additional compiler is recommended.

  • It barely optimizes the resulting binaries, so resulting executables will be slower and larger. That’s partly why it compiles faster.

  • It may not be as stable as other compilers. If you’re doing C interop yourself, you may possibly find that some libraries may not compile with TCC, but do compile with one of the other compilers; if this happens to you, you can open an issue over in the tccbin repo.

    Please note that the original TCC isn’t fully compatible with V, and V distributes its own patched binary.

MinGW

You can get an up-to-date build of MinGW here (recommended), or here. The main benefit with these compiler toolchains is that the release archives are self contained. There is NO installation necessary. Just ~1GB of disk space.

  1. download a .zip file from the links above.
  2. unpack the downloaded archive into a folder, say C:mingw
  3. add the bin subfolder (C:mingwbin) to your PATH.

If you want to uninstall this compiler, you can simply delete the folder where you unpacked the zip (eg. C:mingw).

Visual Studio

Visual Studio takes up a lot more space (~10GB), but may be useful if you’re planning on doing C interop with the Windows SDK / WinAPI.

Download and install Visual Studio 2019. The community edition will suffice. In the installer select Visual Studio core editor, Desktop development with C++, and Windows 10 SDK.

Each software is released under license type that can be found on program pages as well as on search or category pages. Here are the most common license types:

Freeware

Freeware programs can be downloaded used free of charge and without any time limitations. Freeware products can be used free of charge for both personal and professional (commercial use).

Open Source

Open Source software is software with source code that anyone can inspect, modify or enhance. Programs released under this license can be used at no cost for both personal and commercial purposes. There are many different open source licenses but they all must comply with the Open Source Definition — in brief: the software can be freely used, modified and shared.

Free to Play

This license is commonly used for video games and it allows users to download and play the game for free. Basically, a product is offered Free to Play (Freemium) and the user can decide if he wants to pay the money (Premium) for additional features, services, virtual or physical goods that expand the functionality of the game. In some cases, ads may be show to the users.

Demo

Demo programs have a limited functionality for free, but charge for an advanced set of features or for the removal of advertisements from the program’s interfaces. In some cases, all the functionality is disabled until the license is purchased. Demos are usually not time-limited (like Trial software) but the functionality is limited.

Trial

Trial software allows the user to evaluate the software for a limited amount of time. After that trial period (usually 15 to 90 days) the user can decide whether to buy the software or not. Even though, most trial software products are only time-limited some also have feature limitations.

Paid

Usually commercial software or games are produced for sale or to serve a commercial purpose.

Время прочтения
14 мин

Просмотры 62K

Задавшись этим вопросом я, в первую очередь, сформулировал требования: жесткие и опциональные (но желательные) для системы сборки и графической среды разработки.
Сразу хочу отметить что речь идет о написании C++ кода не под какую-то специфичную платформу типа Android или фреймворка, например Qt, — где все уже готово, как с построением так и с редактированием кода, а об generic коде не привязанному к конкретной платформе или фреймворку.

Общие:

  • Свободный.
  • Кросплатформенный (по крайней мере Windows и Linux).

Система сборки:

  • Единая команда для сборки на разных платформах.
  • Инкрементальная сборка с корректным учетом всех зависимостей: заголовочных файлов и сторонних компонентов, использующихся для сборки.
  • Сборочный скрипт должен содержать только необходимый минимум конфигурации специфичный для конкретного проекта. Общая логика билда не должна кочевать из скрипта в скрипт, а находится в билд системе или ее плагинах.
  • Встроенная параллельная сборка.
  • Поддержка различных тулчейнов (хотя бы gcc, Visual C++, CLang).
  • Возможность смены тулчейна с минимальными затратами, без переписывания всего билд скрипта.
  • Легко переключаемые варианты построения: Debug и Release.
  • Совершенно нежелательны зависимости на какие-то дополнительные низкоуровневые тулзы типа make. Одним словом система сборки должна быть самодостаточной.
  • Очень желательна интеграция системы сборки с репозиториями сторонних компонентов типа pkg-config или как Maven Central для JVM.
  • Система сборки должна быть расширяемой плагинами, т.к. процедура сборки для каждого конкретного проекта может оказаться сложнее типовой концепции построения (генерация кода, например, или сборка некоего нестандартного образа).
  • Удобно, когда сценарий сборки представляет собой какой-то высокоуровневый язык программирования или еще лучше DSL. Это позволит не особо затратно и выразительно менять поведение построения прямо в скрипте.
  • При настройке компилятора и линковщика из сценария сборки весьма удобно когда билд системой предоставляются хотя бы базовые абстракции: например, хочется добавить макрос — зачем думать какой параметр командной строки компилятора отвечает за это? /D на MSVC или -D на gcc — пусть система сборки разрулит эти несущественные детали сама.
  • Хорошая интеграция с графическими средами разработки (IDE).

IDE:

  • Способность IDE корректно «понимать» C++ код. IDE должна уметь индексировать все файлы проекта, а также все сторонние и системные заголовочные файлы и определения (defines, macro).
  • IDE должна предоставлять возможность кастомизации команд для построения проекта, а так же где искать заголовочные файлы и определения.
  • Должна эффективно помогать в наборе кода, т.е. предлагать наиболее подходящие варианты завершения, предупреждать об ошибках синтаксиса и т.д.
  • Навигация по большому проекту должна быть удобной, а нахождение использования быстрым и простым.
  • Предоставлять широкие возможности для рефакторинга: переименование и т.д.
  • Также необходима способность к генерации шаблонного кода — создание каркаса нового класса, заголовочного файла и файла с реализацией. Генерация геттеров/сеттеров, определения методов, перегрузка виртуальных методов, шаблоны реализации чисто виртуальных классов (интерфейсов) и т.д.
  • Подсветка и поддержка тегов документирования кода, таких, как Doxygen.

В свете этих «хотелок» мной были рассмотрены несколько систем сборки и графических сред разработки. Этот небольшой обзор ни в коей мере не претендует на полноту и содержит мои субъективные оценки, но, возможно, кому-то это покажется полезным в качестве начальной ступени.

Make[античность] мастодонт и заслуженный ветеран систем сборки, которого все никак не хотят отпустить на пенсию, а заставляют везти на себе все новые и новые проекты. Это очень низкоуровневая тулза со своим специфичном языком, где за пробел вместо таба вам сразу же грозит расстрел на месте. С помощью make можно сделать все, что угодно — билд любой сложности, но за это придется заплатить усилиями для написания скрипта, а также его поддержки в актуальном состоянии. Переносить логику билда из проекта в проект также будет накладно. Существуют некие современные «заменители» make-а: типа ninja и jam, но сути они не меняют — это очень низкоуровневые инструменты. Так же, как и на ассемблере можно написать все что угодно, только стоит ли?

CMake[средневековье] первая попытка уйти от низкоуровневых деталей make-а. Но, к сожалению, далеко уйти не удалось — движком здесь служит все тот же make для которого CMake генерирует огромные make-файлы на основе другого текстового файла с более выскоуровневым описанием билда. По схожему принципу работает и qmake. Такой подход напоминает мне красивый фасад старого деревянного дома, который заботливо обшили свежим пластиком. CMake стабильная и хорошо зарекомендовавшая себя система, есть даже встроенная интеграция с Eclipse, но, к сожалению, мне не подошла потому что противоречит части требований изложенных в начале статьи. Под Linux все вроде бы хорошо, но если нужно построить тот же проект под Windows с помощью MSVC — а я предпочитаю нативный компилятор MinGW-шному, будут сгенерированы файлы для NMake. Т.е. зависимости на еще одну тулзу и разные команды на сборку для другой платформы. И все это следствия чуток кривоватой архитектуры, когда основная часть работы выполняется другими «помощниками».

Ant[эпоха возрождения] своеобразный клон make для Java. Скажу честно, я потратил совсем немного времени для проверки Ant (а так же Maven) в качестве билд системы для C++. И у меня сразу же появилось ощущение что поддержка С++ здесь чисто «для галочки» и недостаточно развита. К тому же даже в Java проектах Ant уже используется достаточно редко. В качестве языка сценария (так же как и для Maven) здесь выбран XML — этот гнусный птичий язык :). Этот факт оптимизма мне совсем не прибавил для дальнейшего погружения в тему.

SCons[новые времена] самодостаточная, кросплатформенная билд система, написанная на Python. SCons одинаково хорошо справляется как с Java так и с C++ билдами. Зависимости хидеров для инкрементальной сборки отрабатываются корректно (насколько я понял создается некая база данных с метаданными билда), а на Windows «без бубна» работает MSVC. Язык сценария сборки — Python. Весьма достойная система, и я даже хотел закончить свои изыскания на ней, но как известно, нет пределу совершенства, и при более детальном осмотре выявились некоторые минусы в свете вышеизложенных требований.

Нет никаких абстрактных настроек для компилятора, поэтому если, например, возникнет необходимость сменить тулчейн, возможно, понадобиться искать места в билд скрипте для внесения изменений. Те же макросы придется прописывать с вложенными условиями — если это Виндовс то сделай так, если это GCC сделай так и т.д.

Нет поддержки удаленных артефакториев и высокоуровневой зависимости одного билда на другой.

Общая архитектура построена так, что так называемые user defined builders существуют практически изолированно и нет возможности заиспользовать уже существующую логику билда, чтобы дополнить ее своей через несложный плагин. Но в целом это достойный выбор для небольших проектов.

Gradle [современность] — у меня уже был позитивный опыт использования Gradle для Java и Kotlin проектов и я возлагал на него большие надежды.

Для JVM языков в Gradle очень удобная концепция работы с библиотеками, необходимыми для построения проекта (билд зависимостями):

  • В скрипте прописываются адреса репозиториев с артефактами: maven или ivy — например. Так же это может быть репозиторий любого другого типа/формата — лишь бы был плагин для него. Это может быть удаленный репозиторий, какой-нибудь Maven Central или ваш личный хостинг где-нибудь в сети или просто локальная репа на файловой системе.
  • Так же в специальном разделе скрипта указываются непосредственно зависимости для построения — список необходимых бинарных артефактов с указанием версий.
  • Перед началом построения Gradle пытается зарезолвить все зависимости и ищет артефакты с заданными версиями по всем репозиториям. Бинарники загружаются в кэш и автоматически добавляются в билд. Это очень удобно и я надеялся, что для C++, возможно, сделали нечто подобное.

Сначала я заценил «старый» плагин для поддержки C++ — `cpp` — и был разочарован — структура скрипта не интуитивная: model, component, nativespec — и какая-то мешанина из различных типов бинарей: и выполнимые и библиотеки все в одном скрипте. Непонятно где размещать юнит тесты. Такая структура сильно отличалась от того что я использовал для Java.

Но, оказалось, что есть и «новые» плагины для поддержки C++: `cpp-application` — для приложений, `cpp-library` для библиотек: статических и динамических и наконец `cpp-unit-test` для юнит тестирования. И это было то что я искал! :)

Структура папок проекта по умолчанию похожа на проект для Java:

  • src/main/cpp — корневая папка для основных файлов *.cpp проекта.
  • src/main/headers — папка для внутренних заголовочных файлов.
  • src/main/public — папка для экспортируемых заголовков — для библиотек.
  • src/test/cpp — папка для файлов *.cpp юнит теста.

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

Кстати, билд скрипт — обычно build.gradle, это DSL языка Groovy или Kotlin (build.gradle.kts) на выбор. Внутри скрипта всегда доступен Gradle API и API добавленных в скрипт плагинов.

Для библиотек можно выбрать тип: статическая или динамическая (или собрать оба варианта).
По умолчанию сконфигурированы два варианта построения: Debug (gradle assemble) и Release (gradle assembleRelease).

Принцип запуска юнит тестирования такой же как в Java: gradle test выполнит постройку основного компонента, потом тестов, если они есть в папке src/test/cpp, а затем выполнит тестовое приложение.

Пресловутые дефайны можно задавать абстрактно — Gradle сам сгенерирует необходимые параметры компилятора. Есть еще несколько абстрактных настроек типа оптимизации, отладочной информации и т.д.

Из коробки поддерживаются GCC, Microsoft Visual C++, CLang.

Система плагинов очень развита, а архитектура расширений устроена удобно — можно взять готовую логику и задекорировать/расширить ее. Плагины бывают двух видов: динамические, которые пишутся прямо на Groovy и встраиваются в скрипт или написанные на Java (или на другом языке с JVM) и скомпилированные в бинарные артефакты. Для плагинов существует бесплатный Gradle-артифакторий, в котором любой желающий может разместить свой плагин, который будет доступен всем. Что успешно и проделал автор этой статьи :) но об этом чуть позже.
Хотелось бы подробнее остановиться теперь на системе работы с бинарными компонентами в Gradle для C++: она почти такая же как в Java! Билд зависимости работают практически так же как я описал выше.

Возьмем для примера композитный билд:

  • utils — папка с библиотекой
  • app — папка с приложением, которое использует utils.
  • settings.gradle — Gradle файл для объединения этих двух компонент в композитный билд.

В файле build.gradle из папки app достаточно прописать такую зависимость:

    dependencies {
        implementation project(':utils')
    }

А все остальное проделает Gradle! Добавит в компилятор путь для поиска заголовочных файлов utils и прилинкует бинарь библиотеки.

И все это одинаково хорошо сработает как под Linux GCC, так и под Windows MSVC.
Инкрементальная сборка, естественно, тоже замечательно работает и при изменении хидеров в utils будет перестроен app.

Как оказалось, в Gradle пошли дальше и реализовали возможность выкладывать C++ артефакты в Maven Repository! Для этого используется стандартный `maven-publish` плагин.

В скрипте необходимо указать репозиторий куда вы хотите выложить свой артефакт и сделать gradle publish (или gradle publishToMavenLocal для локальной публикации). Gradle сбилдит проект и
выложит в специальном формате — с учетом версии, платформы, архитектуры и варианта билда.

Выкладываются сами бинарные файлы библиотек и публичные заголовочные файлы — из папки src/main/public.

Понятно что выложить С++ артефакт на Maven Cental нельзя — он не пройдет обязательные проверки системы. Но поднять Maven репозиторий в сети совсем нетрудно, а для локального репозитория вообще ничего делать не нужно — это просто папка на диске.

Теперь если вы хотите использовать в своем проекте чью-то библиотеку вы можете написать в билд скрипте что-то вроде:

    repositories {
        maven {
            url = 'https://akornilov.bitbucket.io/maven'
        }
    }
    unitTest {
        dependencies {
            implementation 'org.bitbucket.akornilov.tools:gtest:1.8.1'
       }
    }

Здесь говориться что для юнит тестирования нужно использовать артефакт gtest версии 1.8.1 из Maven репозитория.

Это, кстати, вполне реальный репозиторий в котором выложен мой билд Google Test v1.8.1, простроенный с помощью Gradle для Windows и Linux x86_64.

Естественно, что всю низкоуровневую работу по конфигурированию компилятора и линковщика для работы с внешним компонентом Gradle берет на себя. Вам достаточно заявить о своих намерениях использовать такую-то библиотеку с такой-то версией из такого-то репозитория.

Для интеграции с IDE в Gradle есть два встроенных плагина для Visual Studio и XCode. Они хорошо работают, за исключением того что Visual Studio плагин игнорирует код юнит тестов из папки src/test/cpp и генерирует проект только для основного кода.

Теперь пришло время поговорить об IDE и о том как подружить их с Gradle

Eclipse CDT (2018-12R) — зрелый и качественный продукт. Если ему удалось успешно пропарсить Ваш проект, значит Вам повезло — редактировать будет комфортно. Скорее всего он даже «поймет» самые замороченные типы auto. Но если нет… Тогда он будет яростно подчеркивать красным пунктиром все подряд и ругаться нехорошими словами. Например, он не переваривает стандартные заголовочные файлы MSVC и Windows SDK. Даже вполне безобидный printf подчеркивается красным пунктиром и не воспринимается как нечто осмысленное. Там же оказался и std::string. Под Linux с родным ему gcc все замечательно. Но даже при попытке заставить его индексировать проект из родственного Android Native начались проблемы. В заголовках bionic он в упор отказывался видеть определение size_t, а заодно и всех функций которые его использовали. Наверное, под Windows можно исправить ситуацию если вместо заголовочных файлов Microsoft подсунуть ему, например, Cygwin или MinGW SDK, но мне такие фокусы не очень интересны, мне бы все же хотелось чтобы софт такого уровня «кушал то что дают», а не только то что он «любит».
Возможности по навигации, рефакторингу и генерации шаблонного кода замечательные, но вот к помощнику при наборе букв есть вопросы: допустим набираем несколько символов из какого-то длиннющего имени, почему бы не предложить варианты завершения? Нет, помощник терпеливо дожидается пока пользователь доберется до. или -> или ::. Приходится постоянно нажимать Ctrl + Space — раздражает. В Java эту досадную недоделку можно было исправить выбрав в качестве триггера весь алфавит в CDT же я не нашел простого решения.

NetBeans 8.1/10.0 — доводилось пользоваться этим IDE для Java, запомнился как неплохой и легковесный софт со всем необходимым функционалом. Для C++ у него есть плагин разработанный не сообществом, а непосредственно NetBeans. Для C++ проектов существует довольная жесткая зависимость на make и gcc. Редактор кода неторопливый. В генераторе шаблонного кода не нашел очень простую вещь: добавляем новый метод в заголовочном файле класса — нужно сгенерировать тело метода в cpp файле — не умеет. Степень «понимания» кода средняя, вроде бы что-то парсит, а что-то нет. Например, итерирование по мапе с автоитератором для него уже сложновато. На макросы из Google Test ругается. Закастомизировать билд команды проблематично — на Linux при доступном gcc и make (это при том что используется уже другая билд система) сработает, на Windows потребует MinGW, но даже при его наличии откажется построить. В целом работа в NetBeans с C++ возможна, но комфортной я бы ее не назвал, наверное, надо очень любить эту среду, чтобы не замечать разные ее болячки.

KDevelop 5.3.1 — когда-то задумывался как инструмент разработчика для KDE (Linux), но сейчас есть версия и под Windows. Имеет быстрый и приятный редактор кода с красивой подсветкой синтаксиса (основан на Kate). Закостомизировать левую билд систему не получится — для него основная система сборки CMake. Толерантно относится к MSVC и Windows SDK заголовкам, во всяком случае printf и std::string точно не приводят его в ступор как Eclipse CDT. Очень шустрый помощник по написанию кода — хорошие варианты завершения предлагает почти сразу во время набора текста. Имеет интересную возможность по генерации шаблонного кода: можно написать свой шаблон и выложить его онлайн. При создании по шаблону можно подключиться к базе данных готовых шаблонов и загрузить понравившийся. Единственное что расстроило: встроенный шаблон по созданию нового класса криво работает как под Windows так и под Linux. Wizard-а по созданию класса имеет несколько окон, в которым можно много чего настроить: какие конструкторы нужны, какие члены класса и т.д. Но на финальной стадии под Windows выскакивает какая-то ошибка успеть разглядеть текст которой невозможно и создаются два файла h и cpp размером 1 байт. В Linux почему-то нельзя выбрать конструкторы — вкладка пустая, а на выходе корректно генерится только заголовочный файл. В общем-то, детские болезни для такого зрелого продукта смотрятся как-то несерьезно.

QtCreator 4.8.1 (open source edition) — наверное, услышав это название, Вы недоумеваете, как сюда затесался этот монстр заточенный под Qt с дистрибутивом в гигабайт с гаком. Но речь идет о «легкой» версии среды для generic проектов. Его дистрибутив весит всего около 150 Мб и не тащит с собой вещи специфичные для Qt: download.qt.io/official_releases/qtcreator/4.8.
Собственно, он умеет делать почти все, о чем я написал в своих требованиях, быстро и корректно. Он парсит стандартные заголовки как Windows так и Linux, кастомизируется под любую билд систему, подсказывает варианты завершения, удобно генерит новый классы, тела методов, позволяет выполнять рефакторинг и навигацию по коду. Если хочется просто комфортно работать, не думая постоянно о том, как побороть ту или иную проблему есть смысл присмотреться к QtCreator-у.

Собственно, осталось рассказать о том, чего мне не хватило в Gradle для полноценной работы: интеграция с IDE. Чтобы билд система сама сгенерировала бы проектные файлы для IDE, в которых уже были бы прописаны команды для построения проекта, перечислены все исходные файлы, необходимы пути для поиска заголовочных файлов и определения.

Для этой цели мной был написан плагин для Gradle `cpp-ide-generator` и опубликован на Gradle Plugin Portal.

Плагин может использоваться только совместно с `cpp-application`, `cpp-library` и `cpp-unit-test`.
Вот пример его использования в build.gradle:

    plugins {
        id ‘cpp-library’
        id ‘maven-publish’
        id ‘cpp-unit-test’
        id ‘org.bitbucket.akornilov.cpp-ide-generator’ version ‘0.3’
    }

    library {
          // Library specific parameters
    }

    // Configuration block of plugin:
    ide {
        autoGenerate = false
        eclipse = true
        qtCreator = true
        netBeans = true
        kdevelop = true
    }

Плагин поддерживает интеграцию со всеми вышеперечисленными графическими средами разработки, но в конфигурационном блоке плагина — ide можно отключить поддержку ненужных IDE:

    kdevelop = false

Если параметр autoGenerate выставлен в true, проектные файлы для всех разрешенных IDE будут автоматически генерироваться прямо во время билда. Также в режиме автоматической генерации проектные файлы будут удаляться при очистке билда: gradle clean.

Поддерживается инкрементальная генерация, т.е. обновляться будут только те файлы, которые требуют реального обновления.

Вот список целей, которые добавляет плагин:

  • generateIde — сгенерировать проектные файлы для всех разрешенных IDE.
  • cleanIde — удалить проектные файлы для всех разрешенных IDE.
  • generateIde[имя] — сгенерировать проектные файлы для IDE с заданным именем (IDE должно быть разрешено), например generateIdeQtCreator.
  • Доступные имена: Eclipse, NetBeans, QtCreator, KDevelop.
  • cleanIde[имя] — удалить проектные файлы для IDE с заданным именем, например cleanIdeQtCreator.

Во время генерации плагин «обнюхивает» билд и извлекает из него всю необходимую информацию для создания проектных файлов. После открытия проекта в IDE должны быть видны все исходные файлы, прописаны пути ко всем хидерам, а так же настроены базовые билд комманды — построить/очистить.

Второй плагин, который мне пришлось сделать, называется `cpp-build-tuner` и он также работает в паре с cpp-application`, `cpp-library` и `cpp-unit-test`.

У плагина нет никаких настроек, его достаточно просто зааплаить:

    plugins {
        id ‘cpp-library’
        id ‘maven-publish’
        id ‘cpp-unit-test’
        id ‘org.bitbucket.akornilov.cpp-build-tuner’ version ‘0.5’
    }

Плагин выполняет небольшие манипуляции с настройками тулчейнов (компилятора и линковщика) для разных вариантов билда — Debug и Release. Поддерживаются MSVC, gcc, CLang.

Особенно это актуально для MSVC, потому что по умолчанию в результате релизного билда Вы получите «жирный», не эстетичный бинарь с дебажной информацией и статически прилинкованной стандартной библиотекой. Часть настроек для MSVC я «подсмотрел» в самой Visual Studio, которые по дефолту он добавляет в свои C++ проекты. Как для gcc/CLang так и для MSVC в профиле Release включаются link time optmizations.

Заметка: Плагины проверялись с последней версией Gradle v5.2.1 и не тестировались на совместимость с предыдущими версиями.

Исходные коды плагинов, а так же простенькие примеры использования Gradle для библиотек: статических и динамических, а так же приложения, которое их использует можно посмотреть: bitbucket.org/akornilov/tools дальше gradle/cpp.

Так же в примерах показано, как пользоваться Google Test для юнит тестирования библиотек.

Maven Repository с простроенной в Gradle Google Test v1.8.1 (без mock).

UPD:

Версии QtCreator под Windows старше 4.6.2 (и по крайней мере, на момент написания этих строк, до 4.10 включительно) «разучились» понимать SDK MSVC. Все из пространства std:: подчеркивают красным и отказываются индексировать. Поэтому, на данный момент, версия 4.6.2 наиболее подходящая для работы под Windows.

Была выпущена новая версия плагина cpp-build-tuner v1.0cpp-ide-generator v0.5 – небольшие улучшения).
1) В cpp-build-tuner добавлен блок конфигурации.

buildTuner {

 lto = false

 gtest = '1.8.1'

 libraries {
     common = ['cutils.lib']
     windows = ['ole32', 'user32']
     linux = ['pthread', 'z']
 }

 libDirs.common = ['../build/debug', '../release']

}

lto (булевое значение) –разрешает или запрещает LTO для релизного билда. По умолчанию включено.

gtest (строка) – добавлет поддержку Google Test для юнит тестов. На данный момент поддерживается только версия 1.8.1 для GCC, MinGW-W64, и MSVC.

libraries (контейнер) – список библиотек для линковки. Внутри контейнера есть три поля (список строк): common – библиотеки для любой платформы, windows – только для Windows и linux – только для Linux.

libDirs (контейнер) – список папок для поиска библиотек линковщиком. Структура контейнера такая же как и у списка библиотек.

2) Добавлена возможность запуска приложения для cpp-application. Плагин добавляет в проект дополнительные задачи для этого: run, runDebug (тоже самое, что и run) и runRelease. Задачи зависят от assemble, assembleDebug и assembleRelease соответственно.
Аналогично стандартному плагину “Java Application plugin” можно передавать параметры командной строки при запуске: gradle run --args="arg1 arg2 ...".

UPD

В связи со сменой хостинга плагинов, была изменена группа:

plugins {
    id 'loggersoft.cpp-build-tuner' version '1.1'
    id 'loggersoft.cpp-ide-generator' version '0.5'
}

Новый адрес проекта: gradle-cpp.sourceforge.io

Документация:
sourceforge.net/p/gradle-cpp/wiki/cpp-build-tuner
sourceforge.net/p/gradle-cpp/wiki/cpp-ide-generator

Понравилась статья? Поделить с друзьями:
  • Просмотрщик фото для windows 10 как в windows 7
  • Протокол ipx для windows 7 x64
  • Простой калькулятор скачать бесплатно на рабочий стол для windows 10
  • Протокол gre для vpn windows 10
  • Просмотрщик фото для windows 10 ltsc