Содержание

Выбираем бесплатный компилятор для C / C++

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 для моделей с разделяемой памятью, MPICh3 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций (глобальную, цикл-узел, межпроцедурный анализ, обратную связь) и многое другое. Набор поставляется с оптимизированной 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).

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

Вадим Дворниковавтор-переводчик статьи «Free C/C++ Compilers and Interpreters»

Выбираем бесплатный компилятор для C / C++

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 для моделей с разделяемой памятью, MPICh3 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций (глобальную, цикл-узел, межпроцедурный анализ, обратную связь) и многое другое. Набор поставляется с оптимизированной 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).

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

Вадим Дворниковавтор-переводчик статьи «Free C/C++ Compilers and Interpreters»

Выбираем бесплатный компилятор для C / C++

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 для моделей с разделяемой памятью, MPICh3 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций (глобальную, цикл-узел, межпроцедурный анализ, обратную связь) и многое другое. Набор поставляется с оптимизированной 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).

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

Вадим Дворниковавтор-переводчик статьи «Free C/C++ Compilers and Interpreters»

x86 — требуется компилятор C для 64-разрядной версии Windows 7 для компиляции в цель DOS

Вопрос задан

Изменено 3 года, 1 месяц назад

Просмотрено 2k раз

Часть коллектива Intel

Я пытаюсь найти решение, которое позволит мне скомпилировать код C в исполняемый файл DOS из 64-разрядной версии Windows 7. Недавно я обновился с 32-разрядной версии XP до 64-разрядной версии Win7, и теперь мой компилятор Borland C++ 5.0 не работает. Я получаю сообщение об ошибке, когда он пытается вызвать 16-битный tlink.exe. Я пытаюсь избежать переноса другого компьютера с XP, но это должно быть моим курсом действий, если я не смогу понять что-то еще в ближайшее время.

Моя цель — встроенный x86 с FreeDOS. Как бы я ни хотел перейти на Linux, я не могу позволить себе время, которое займет переход. Помимо кривой обучения, поскольку я никогда не использовал Linux, большая часть моего кода зависит от DOS и должна быть переписана.

Я надеюсь, что есть параметр Windows, который я могу просто изменить, но мои исследования до сих пор приводят меня к мысли, что мне нужно более радикально изменить мой процесс. Я обнюхивал Turbo C 2.01, DJGPP, DOSbox… не слишком уверен, чтобы идти по любому из этих переулков без какого-либо внешнего ввода

  • c
  • x86
  • 32bit-64bit
  • borland-c++
  • djgpp

4

Запустите Virtual XP или VirtualBox и установите внутрь Borland C++.

Кстати, есть версия 5.02 с некоторыми исправлениями (если ваша версия именно 5.0).

Если вы можете найти старый компилятор Microsoft, например, 16-разрядный C/C++ 1.52 (который находится на компакт-диске с 32-разрядным C/C++ 4.1) или C 8.00 или более ранней версии, он запускается с использованием расширителя DOS или в 32-битное окно консоли DOS.

Почему вы не можете запустить компилятор Borland с помощью FreeDOS?

Вы можете попытаться создать виртуальную машину с MSDOS, но вам придется найти способ установить MSDOS 6.22 на виртуальную машину. На сайте поддержки Microsoft есть ссылки на загрузочный ISO-файл для MSDOS 6.22. У меня все еще есть оригинальные дискеты, и я начал с них в старой системе с дисководом. Немного неудобно импортировать/экспортировать файлы в/из виртуальной машины.

Это файл config.sys, который я использую и который работает с виртуальной машиной Win 7. Мне пришлось увеличить буферы, стеки и файлы, чтобы избежать проблемы переполнения стека с этой настройкой.

 dos=высокий,umb
буферы=40,0
файлы=60
ластдрайв=е
оболочка=c:\command.com c:\ /e:1024 /p
стеки = 64 512
переключатели=/f
устройство = c:\dos\himem.sys /numhandles:64 /testmem:off
устройство: c:\dos\emm683.exe оперативная память i=b100-b7ff i=c600-c7ff i=cc00-cfff i=e600-efff кадр=d000 a=32 d=128 notr
devicehigh=c:vmadd\cdrom.sys /d:mscd001
 

Это autoexec.bat, который я использую (smartdrv в этом случае немного бессмыслен, поэтому я закомментировал его с префиксом «rem»).

 c:\dos\emm386 авто
лч c:\dos\mscdex.exe /d:mscd001 /m:7
rem lh c:\dos\smartdrv.exe
лч c:\vmadd\mouse.com
установить путь=c:\dos
установить бластер=a220 i5 d1 h5 p330 t6
подсказка $p$g
 

Что касается компилятора, Open Watcom мне кажется лучшим выбором в вашей ситуации. FrameworkPascal (написанный в старой версии Watcom) предоставляет 32-битный расширитель. Что касается создания виртуальных машин FreeDOS, воспользуйтесь инструментами от Microsoft SysInteral. Они включают в себя инструмент для создания виртуального жесткого диска.

Как только вы запустите FreeDOS на виртуальной машине, вы можете просто SYS VHD и запустить его где угодно. Существует множество готовых образов ISO для FreeDOS, стоит упомянуть Seagate Seatools для DOS, который распространяется вместе с ядром FreeDOS.

Ваше лучшее (но не единственное) решение для запуска всего, что, вероятно, является XPMode в Windows 7 Pro. Он работает под управлением Windows XP 32, которая, конечно, обеспечивает 100-процентную прозрачную совместимость через NTVDM с 16-битным реальным режимом DOS, 16-битным защищенным (Windows 3.1) и 32-битным расширителем DOS. Кстати, NTVDM — это функция, которую можно активировать в Windows 10 Pro, но пока неизвестно, что именно с ней можно сделать.

XPMode — это бесплатная загрузка от Microsoft, которая устанавливает бесплатную 32-разрядную версию Windows XP на виртуальную машину в Windows 7 Pro с полным совместным использованием буфера вырезания/копирования, USB, дисков, экрана и сетевой карты (веб-доступ). Его можно переключать между окном и полноэкранным режимом.

Установка XPMode автоматизирована (после активации виртуальной машины Windows 7 Pro). Microsoft предоставляет различные загружаемые исправления, которые обновляют реестр для активации виртуальной машины. Существует загружаемое исправление поддержки MS, которое необходимо запустить, чтобы разрешить установку на архитектуре AMD Bulldozer. XPMode переводит рабочий стол и виртуальные жесткие диски в спящий режим, что делает его гораздо более продуктивной средой, чем аппаратная система.

После небольшой дополнительной работы 32-разрядную версию Windows XP можно установить на любую виртуальную машину, включая виртуальную машину Microsoft на 64-разрядной версии Windows XP, а также на Oracle Box и VMWare. Однако XPMode, вероятно, является самым плавным решением, поскольку некоторые установки, такие как MS Virtual Machine для 64-разрядной версии Windows XP, не используют весь физический дисплей в полноэкранном режиме (только около 90 процентов). Если вы установите браузер и электронную почту в XPMode, вы сможете жить в полноэкранном режиме и забыть о новых версиях Windows.

Твой ответ

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Загрузите и установите компилятор C/GCC для Windows

Обзор

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

В языке C существует два способа установки компилятора. Первый — это установка компилятора C/GCC вручную, а второй — установка Code::Blocks или любой IDE (интегрированной среды разработки) и внутри нее, включая компилятор GCC во время установки.

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

Прежде чем читать эту статью, прочтите следующие статьи по программированию на C:

  • История языка Си
  • Важность языка программирования C

Scope

  • В статье объясняется пошаговая установка компилятора C/GCC для Windows.
  • Статья дает представление о различных типах редакторов исходного кода, используемых разработчиками, и ссылку для скачивания.
  • В статье также объясняется установка Code::Blocks IDE с MinGW, компилятором C и пошаговое руководство по установке пути компилятора к переменной пути среды.

Редакторы исходного кода

Редактор исходного кода — это инструмент текстового редактора, специально разработанный для редактирования или написания исходного кода на любом языке программирования. В Windows есть базовый редактор исходного кода, то есть Блокнот, но он имеет ограниченные возможности; поэтому для лучшего форматирования и таких функций, как несколько вкладок и плагинов, вы можете использовать другие редакторы, такие как:

  1. TextPad (только для Windows): это мощный универсальный редактор для простых текстовых файлов. Мы можем легко ввести программу C в TextPad. Вы можете открывать папки проекта внутри текстового планшета, чтобы вам не приходилось открывать файлы снова и снова, как в блокноте.

  2. Notepad++ (только для Windows): текстовый редактор для Microsoft Windows. В отличие от блокнота, он поддерживает несколько вкладок.

  3. VS Code: (для Windows, Mac и Linux) Visual Studio Code предлагает варианты автоматического завершения слов. Он имеет встроенный отладчик для отслеживания каждой строки кода.

  4. ATOM: (для Windows, Mac и Linux): Atom помогает быстрее писать код с помощью интеллектуального и гибкого автозаполнения.

  5. Sublime Text: Sublime text — это бесплатный редактор исходного кода с расширяемой функциональностью с помощью плагинов. Он поддерживает почти все языки программирования, создан сообществом и поддерживается по бесплатной лицензии.

Установка компилятора C/GCC для Windows

Компилятор C/GCC

Ниже приведены шаги по загрузке и установке компилятора MinGW GCC для Windows.

Шаг 1: Поиск компилятора MinGW C в Интернете
Чтобы загрузить компилятор MinGW, перейдите в свой любимый браузер и выполните поиск компилятора MinGW C или щелкните ссылку sourceforge.net.

Шаг 2: Загрузите MinGW.
После нажатия зеленой кнопки загрузки на веб-сайте начнется загрузка установочного файла MinGW.

Шаг 3: Найдите файл MinGW-get-setup.exe и начните установку.

Найдите файл setup.exe в папке «Загрузки» и дважды щелкните его.

После двойного щелчка по файлу установки откроется инструмент установки MinGW Installation Manager. Он покажет информацию, такую ​​​​как версия, имя и т. Д. Нажмите кнопку «Установить» и продолжите установку.

Шаг 4. Укажите параметры установки.
Теперь менеджер установки попросит вас указать параметры установки. Для этого вам будет предложено выбрать каталог установки. Если вы хотите изменить его, вы можете просмотреть проводник и указать местоположение в соответствии с вашими требованиями. После этого нажмите «Продолжить», чтобы продолжить.

Рекомендуется установить его в расположение по умолчанию

Шаг 5: Загрузите и настройте менеджер установки MinGW.
Теперь программа установки автоматически загрузит необходимые файлы для установки MinGW в вашей системе Windows. Возьмите чашку кофе и терпеливо подождите, пока менеджер установки завершит загрузку всех файлов. Когда это будет сделано, нажмите «Продолжить», чтобы продолжить.

Примечание : Активный Интернет требуется на протяжении всего процесса установки.

Шаг 6: Выберите пакеты, необходимые для компилятора.
Для базовой установки MinGW требуется три пакета, которые необходимо выбрать в диспетчере установки MinGW.

1. Базовый пакет MinGW32.
Сначала необходимо установить базовый пакет MinGW32 . Этот пакет используется для компиляции программы C, включая компоновщик и другие бинарные инструменты. Щелкните правой кнопкой мыши вариант MinGW32-base и выберите «Отметить для установки».

2. Пакет MinGW32-gcc-g++.
Теперь вам нужно установить пакет MinGW32-gcc-g++. Этот пакет используется для компиляции исходного кода C++. Это необязательный компонент компилятора MinGW. Это требуется только в том случае, если вы собираетесь программировать только на языке C++. Чтобы выбрать MinGW32-gcc-g++, щелкните его правой кнопкой мыши и выберите «Отметить для установки».

3. Пакет MinGW32-gcc-objc.
Наконец, вы должны установить пакет MinGW32-gcc-objc. Этот пакет используется для компиляции объективного языка C. Это необязательный компонент. Это требуется только в том случае, если вы собираетесь программировать в задаче C. Чтобы выбрать пакет MinGW32-gcc-objc, щелкните его правой кнопкой мыши и выберите Отметить для установки.

Шаг 7: Примените изменения
После выбора всех необходимых пакетов перейдите в Установка>>Применить изменения и нажмите Применить изменения.

Шаг 8: Загрузите изменения.
Теперь пришло время загрузить все пакеты, которые вы выбрали на предыдущем шаге. Нажмите «Применить» и продолжите их загрузку и установку.

Начнется загрузка пакетов, как показано в окне ниже. Подождите несколько минут, пока загрузка не завершится.

Шаг 9: Установка завершена.
После завершения установки щелкните Закрыть, чтобы закрыть Менеджер установки.

Теперь установка MinGW завершена. Чтобы проверить, установлен он или нет, откройте командную строку и введите g++ —version.

В настоящее время командная строка не может обнаружить компилятор MinGW (GCC), поскольку не задана переменная пути среды. Переменная пути среды помогает обнаружить компилятор во всей вашей системе. Это делает псевдоним для компилятора, который обозначает путь. Выполните следующие шаги, чтобы установить переменную пути среды для MinGW в системе Windows.

Настройка переменной пути

Чтобы настроить путь для компилятора C для Windows, выполните следующие действия:
Шаг 1: Скопируйте путь к корзине MinGW.
При установке MinGW создается папка с именем MinGW на диске C:. Чтобы установить путь компилятора, нам нужен путь к каталогу bin MinGW. Итак, сначала

  • Перейдите в C:> MinGW> bin.
  • Теперь внутри папки bin нажмите на адресную строку и скопируйте адрес.
  • Мы требуем, чтобы этот адрес был установлен как путь в переменной окружения.
  • Если место установки было где-то в другом месте, вы можете перейти туда, где вы установили MinGW.

Примечание: Если вы откроете командную строку непосредственно в пути к корзине, команда g++ —version будет работать правильно, но эта команда должна работать во всех каталогах на компьютере. Это основная причина установки переменной пути среды.

Шаг 2: Откройте «Редактировать системные переменные». Перейдите к строке поиска и введите Изменить переменные системной среды и нажмите «Открыть», чтобы продолжить редактирование переменных системной среды.

Шаг 3: Отредактируйте путь. В разделе «Пользовательские переменные» для раздела « Пользователь » выберите путь и нажмите кнопку «Редактировать».

Шаг 4: Настройте новый путь.

  • После нажатия кнопки «Изменить» откроется новое окно «Редактировать переменную среды». Это окно позволяет нам добавить путь в соответствии с нашими требованиями.
  • Поскольку мы хотим добавить новый путь, нажмите кнопку «Создать». Откроется новое окно «Редактировать переменную среды». Это окно позволяет нам добавить путь в соответствии с нашими требованиями. Нажмите кнопку «Создать», так как мы хотим добавить новый путь.

Шаг 5: Вставьте путь. Вставьте путь к корзине MinGW, который был скопирован ранее, и нажмите «ОК».

Создание и запуск программы на C

Шаг 1: Hello World на C. Чтобы выполнить программу C, создайте текстовый файл в любом каталоге по вашему выбору.

Шаг 2: Введите код C и сохраните файл. Введите код в блокнот и сохраните файл с расширением .c. Здесь мы пишем программу для печати hello world , чтобы продемонстрировать этот шаг и сохранить файл как Hello. c.

Шаг 3. Откройте командную строку. Теперь щелкните адресную строку в каталоге программы C, введите cmd и нажмите Enter.

Шаг 4: Скомпилируйте программу C. Чтобы скомпилировать код Hello World, который мы написали ранее, введите gcc Hello.c (или имя, под которым вы сохраните программу) и нажмите Enter. Написание gcc вызовет компилятор C для Windows.

Шаг 5: Компиляция завершена. Скомпилированный файл будет сохранен в той же директории с именем a (у вас может быть другое имя). Тип файла будет Application .

Шаг 6: Запуск программы C. Чтобы запустить скомпилированный файл, напишите имя скомпилированного файла, т. е. a, как показано на скриншоте ниже. Наконец, вывод будет напечатан в командной строке.

Существуют альтернативные методы установки компиляторов C. Один из них — установка Code::Blocks IDE.

Давайте рассмотрим пошаговый процесс установки Code::Blocks IDE с компилятором C.

Альтернативный метод:

Установка с помощью двоичной версии CodeBlocks IDE

Code::Blocks Code::Blocks — это интегрированная среда разработки C/C++. Он поставляется с плагинами, которые являются внешними дополнениями к любому программному обеспечению для настройки. Любую функциональность можно добавить, установив плагин. В IDE можно добавить такие плагины, как отладчик, средство форматирования текста и т. д.

Ниже приведены шаги по загрузке и установке Code::Blocks IDE.

Шаг 1: Перейдите на сайт Code::Blocks. Первым шагом является установка IDE блоков кода. Зайдите в любой из браузеров и откройте codeblocks.org. На экране появится указанная ниже веб-страница. С левой стороны нажмите «Загрузки».

Шаг 2: Выберите способ загрузки. После нажатия на загрузки на странице загрузки, он перенаправит вас на следующую страницу. Здесь нажмите на

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

Шаг 3: Выберите версию для загрузки В разделе Windows щелкните файл codeblocks-20.03mingw-setup.exe (для 64-разрядной версии).

Файл codeblocks-20.03mingw-setup.exe поставляется с MinGW, включая компилятор GCC/G++/GFortan и отладчик GDB.

Чтобы загрузить 32-разрядную версию, выберите codeblocks-20.03mingw-32bit-setup.exe

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

Шаг 4: Запустите установку Итак, установочный файл загружен. Дважды щелкните файл, и на экране появится окно настройки. Нажмите кнопку «Далее>» и продолжайте дальше.

Шаг 5. Примите лицензионное соглашение На экране появится лицензионное соглашение с условиями. Прочтите лицензионное соглашение, нажмите кнопку «Принимаю» и действуйте дальше.

Шаг 6: Выберите компоненты. На этом шаге проверьте, установлены ли все флажки. Для плавной установки все компоненты должны быть выбраны. После этого нажмите Далее, чтобы продолжить.

Шаг 7: Выберите место для установки и начните установку. Выберите место на диске, куда будет установлено приложение. Он автоматически занимает место на диске C:. Чтобы изменить его, нажмите «Обзор», выберите местоположение и нажмите «Далее», чтобы продолжить.

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

Шаг 8: Установка завершена. Установка завершена успешно. После завершения установки появится всплывающее сообщение «Вы хотите запустить Code::Blocks сейчас?» Появится. Вы можете нажать кнопку Да, чтобы запустить IDE Code::Blocks.

Теперь убедитесь, что среда IDE обнаруживает компилятор C для Windows. Для этого выполните следующие действия.

Шаг 9: Настройка MinGW для PATH.

Перейдите в папку MinGW на вашем компьютере C:\Program Files\CodeBlocks\MinGw\bin. На вашем компьютере откроется следующая папка. Просто скопируйте путь в адресной строке.

Теперь обратитесь к шагам, упомянутым в разделе Настройка переменной PATH в предыдущем разделе. После настройки переменной пути среды , выполните следующие шаги.

Шаг 10: Автоопределение компилятора. Как только вы откроете IDE Code::Blocks, появится окно автоматического обнаружения компиляторов со статусом компилятора GNU GCC, показанным как «Обнаружен».

Создание и запуск программы C в Code::Blocks.

Шаг 1: Откройте новый файл в Code::Blocks.

Выберите File>>New>>Empty File и щелкните его, чтобы проверить, правильно ли работает IDE.

Шаг 2. Напишите программу Hello World на C.

Создайте программу Hello World на C. Сохраните ее с расширением .c.

Шаг 3: Вывод программы C. После сохранения перейдите в Build>>Run, и программа скомпилируется и запустится. Если на экране ниже появится командная строка с надписью hello world, значит блоки кода успешно установлены!

Заключение

  • Исходный код скомпилирован с помощью компилятора C для Windows, чтобы машина (компьютер) могла его понять.
  • Компилятор C для Windows можно установить в системе Windows, во-первых, установив только компилятор, а во-вторых, установив компилятор с IDE в качестве подключаемого модуля.
  • C/GCC — это компилятор, используемый языком C.
  • Мы должны установить путь к компилятору в переменной пути среды , чтобы его можно было использовать в любом каталоге.
  • Чтобы использовать компилятор C, программа должна быть сохранена с расширением .C .

Начало работы с C++ и Mingw-w64 в Visual Studio Code

В этом руководстве вы настраиваете Visual Studio Code для использования компилятора GCC C++ (g++) и отладчика GDB из mingw-w64 для создания программ, работающих в Windows.

После настройки VS Code вы скомпилируете и отладите простую программу Hello World в VS Code. В этом руководстве не рассказывается о GCC, GDB, Mingw-w64 или языке C++. По этим темам в Интернете доступно множество хороших ресурсов.

Если у вас есть какие-либо проблемы, не стесняйтесь сообщить о проблеме для этого руководства в репозитории документации VS Code.

Предварительные условия

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

  1. Установите код Visual Studio.

  2. Установите расширение C/C++ для VS Code. Вы можете установить расширение C/C++, выполнив поиск «c++» в представлении «Расширения» (⇧⌘X (Windows, Linux Ctrl+Shift+X)).

  3. Получите последнюю версию Mingw-w64 через MSYS2, которая предоставляет актуальные собственные сборки GCC, Mingw-w64 и других полезных инструментов и библиотек C++. Вы можете загрузить последнюю версию установщика со страницы MSYS2 или использовать эту ссылку для установки.

  4. Следуйте инструкциям по установке на веб-сайте MSYS2, чтобы установить Mingw-w64. Позаботьтесь о том, чтобы запустить каждое необходимое меню «Пуск» и команду pacman .

  5. Установите набор инструментов Mingw-w64 ( pacman -S --needed base-devel mingw-w64-x86_64-toolchain ). Запустите команду pacman в терминале MSYS2. Примите значение по умолчанию, чтобы установить все элементы в группе цепочки инструментов .

  6. Добавьте путь к папке Mingw-w64 bin в переменную среды Windows PATH , выполнив следующие действия:

    1. В строке поиска Windows введите «Настройки», чтобы открыть настройки Windows.
    2. Найдите Изменить переменные среды для вашей учетной записи .
    3. Выберите переменную Path в ваших пользовательских переменных , а затем выберите Edit .
    4. Выберите Новый и добавьте путь к папке назначения Mingw-w64 в системный путь. Точный путь зависит от того, какую версию Mingw-w64 вы установили и где вы ее установили. Если вы использовали указанные выше настройки для установки Mingw-w64, то добавьте в путь это: C:\msys64\mingw64\bin .
    5. Выберите OK , чтобы сохранить обновленный путь. Вам нужно будет снова открыть все окна консоли, чтобы новое местоположение PATH стало доступным.

Проверьте установку MinGW

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

 gcc --version
г++ --версия
gdb --версия
 
  1. Если вы не видите ожидаемого результата или g++ или gdb не является распознаваемой командой, убедитесь, что ваша запись PATH соответствует двоичному расположению Mingw-w64, где находятся компиляторы. Если компиляторы не существуют в этой записи PATH, убедитесь, что вы выполнили инструкции на веб-сайте MSYS2 для установки Mingw-w64.
  2. Если gcc имеет правильный вывод, но не gdb , вам необходимо установить пакеты, отсутствующие в наборе инструментов Mingw-w64.
    • Отсутствует mingw-w64-gdb 9Пакет 0446 является одной из причин ошибки «Недопустимое значение miDebuggerPath». сообщение при попытке компиляции, если ваш PATH правильный.

Create Hello World

В командной строке Windows создайте пустую папку с именем Projects , куда вы можете поместить все свои проекты VS Code. Затем создайте подпапку с именем helloworld , перейдите в нее и откройте VS Code в этой папке, введя следующие команды:

 mkdir проекты
компакт-диск проекты
привет мир
компакт-диск привет мир
код .
 

«Код». Команда открывает VS Code в текущей рабочей папке, которая становится вашей «рабочей областью». Примите диалоговое окно Workspace Trust, выбрав Да, я доверяю авторам , так как это созданная вами папка.

По мере прохождения руководства вы увидите три файла, созданных в папке .vscode в рабочей области:

  • tasks.json (инструкции по сборке)
  • launch.json (настройки отладчика)
  • c_cpp_properties. json (путь к компилятору и настройки IntelliSense)

Добавьте файл исходного кода

В строке заголовка Проводника выберите кнопку Новый файл и назовите файл helloworld.cpp .

Добавьте исходный код hello world

Теперь вставьте этот исходный код:

 #include 
#include <вектор>
#include <строка>
использование пространства имен std;
основной ()
{
    vector msg {"Hello", "C++", "World", "from", "VS Code", "и расширение C++!"};
    for (константная строка и слово: сообщение)
    {
        cout << слово << " ";
    }
    cout << конец;
}
 

Теперь нажмите ⌘S (Windows, Linux Ctrl+S), чтобы сохранить файл. Обратите внимание, как только что добавленный файл отображается в представлении File Explorer (⇧⌘E (Windows, Linux Ctrl+Shift+E)) на боковой панели кода VS:

Вы также можете включить автоматическое сохранение для автоматического сохраните изменения в файле, установив флажок Auto Save в главном меню File .

Панель действий в крайнем левом углу позволяет открывать различные представления, такие как Search , Source Control и Выполните . Представление Run вы рассмотрите позже в этом руководстве. Вы можете узнать больше о других представлениях в документации по пользовательскому интерфейсу VS Code.

Примечание . При сохранении или открытии файла C++ вы можете увидеть уведомление от расширения C/C++ о доступности версии Insiders, которая позволяет тестировать новые функции и исправления. Вы можете игнорировать это уведомление, выбрав X ( Clear Notification ).

Исследуйте IntelliSense

В новом файле helloworld.cpp наведите указатель мыши на вектор или строку , чтобы просмотреть информацию о типе. После объявления переменной msg начните вводить msg. , как при вызове функции-члена. Вы должны немедленно увидеть список завершения, который показывает все функции-члены, и окно, которое показывает информацию о типе для объекта msg :

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

Запустите helloworld.cpp

Помните, что расширение C++ использует компилятор C++, установленный на вашем компьютере, для построения вашей программы. Перед запуском и отладкой helloworld.cpp в VS Code убедитесь, что у вас установлен компилятор C++.

  1. Откройте helloworld.cpp , чтобы он был активным файлом.

  2. Нажмите кнопку воспроизведения в правом верхнем углу редактора.

  3. Выберите C/C++: g++.exe создает и отлаживает активный файл из списка обнаруженных компиляторов в вашей системе.

Вам будет предложено выбрать компилятор только при первом запуске helloworld.cpp . Этот компилятор будет установлен как компилятор «по умолчанию» в файле tasks.json .

  1. После успешной сборки выходные данные вашей программы появятся во встроенном терминале .

При первом запуске программы расширение C++ создает tasks.json , который вы найдете в папке .vscode вашего проекта. tasks.json хранит конфигурации сборки.

Ваш новый файл tasks.json должен выглядеть примерно так, как показано ниже:

 {
  "задачи": [
    {
      "тип": "cppbuild",
      "label": "C/C++: активный файл сборки g++.exe",
      "command": "C:\\msys64\\mingw64\\bin\\g++.exe",
      "аргументы": [
        "-fdiagnostics-color=всегда",
        "-грамм",
        "${файл}",
        "-о",
        "${fileDirname}\\${fileBasenameNoExtension}. exe"
      ],
      "опции": {
        "cwd": "${fileDirname}"
      },
      "проблемматчер": ["$gcc"],
      "группа": {
        "вид": "строить",
        «по умолчанию»: правда
      },
      "detail": "Задача, созданная отладчиком."
    }
  ],
  "версия": "2.0.0"
}
 

Примечание . Дополнительные сведения о переменных tasks.json см. в справочнике по переменным.

Параметр команды указывает программу для запуска; в данном случае это g++. Массив args определяет аргументы командной строки, которые будут переданы g++. Эти аргументы должны быть указаны в порядке, ожидаемом компилятором.

Эта задача указывает g++ взять активный файл ( ${file} ), скомпилировать его и создать исполняемый файл в текущем каталоге ( ${fileDirname} ) с тем же именем, что и у активного файла, но с расширением .exe ( ${fileBasenameNoExtension}.exe ), что в нашем примере дает helloworld. exe .

Значение метки — это то, что вы увидите в списке задач; вы можете назвать это как угодно.

Значение Detail — это то, что вы увидите в качестве описания задачи в списке задач. Настоятельно рекомендуется переименовать это значение, чтобы отличать его от аналогичных задач.

С этого момента кнопка воспроизведения будет читать tasks.json , чтобы выяснить, как собрать и запустить вашу программу. Вы можете определить несколько задач сборки в tasks.json , и та задача, которая помечена как задача по умолчанию, будет использоваться кнопкой воспроизведения. Если вам нужно изменить компилятор по умолчанию, вы можете запустить Tasks: Configure default build task . В качестве альтернативы вы можете изменить файл tasks.json и удалить значение по умолчанию, заменив этот сегмент:

 "группа": {
        "вид": "строить",
        «по умолчанию»: правда
    },
 

с этим:

 "группа": "сборка",
 

Изменение tasks.

json

Вы можете изменить tasks.json для создания нескольких файлов C++, используя такой аргумент, как "${workspaceFolder}/*.cpp" вместо ${file} . Это будет создайте все файлы .cpp в вашей текущей папке. Вы также можете изменить имя выходного файла, заменив "${fileDirname}\\${fileBasenameNoExtension}.exe" с жестко заданным именем файла (например, "${workspaceFolder}\\myProgram.exe" ).

Отладка helloworld.cpp

  1. Вернитесь к helloworld.cpp , чтобы он был активным файлом.
  2. Установите точку останова, щелкнув поле редактора или нажав F9 в текущей строке.
  3. В раскрывающемся списке рядом с кнопкой воспроизведения выберите Файл отладки C/C++ .
  4. Выберите C/C++: активный файл сборки и отладки g++ из списка обнаруженных компиляторов в вашей системе (вам будет предложено выбрать компилятор только при первом запуске/отладке helloworld. cpp ).

Кнопка воспроизведения имеет два режима: Запуск файла C/C++ и Отладка файла C/C++ . По умолчанию будет использоваться последний использованный режим. Если вы видите значок отладки на кнопке воспроизведения, вы можете просто нажать кнопку воспроизведения для отладки вместо использования раскрывающегося списка.

Знакомство с отладчиком

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

  • Интегрированный терминал появляется в нижней части редактора исходного кода. На вкладке Debug Output отображаются выходные данные, указывающие на то, что отладчик запущен и работает.

  • Редактор выделяет строку, где вы устанавливаете точку останова перед запуском отладчика:

  • Представление Run and Debug слева показывает отладочную информацию. Вы увидите пример позже в учебнике.

  • В верхней части редактора кода появляется панель управления отладкой. Вы можете перемещать его по экрану, хватая точки с левой стороны.

Пошаговое выполнение кода

Теперь вы готовы начать пошаговое выполнение кода.

  1. Щелкните или нажмите значок Step over на панели управления отладкой.

    Это переместит выполнение программы на первую строку цикла for и пропустит все вызовы внутренних функций в классах vector и string , которые вызываются при создании и инициализации переменной msg . Обратите внимание на изменение Переменные окно слева.

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

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

  3. Нажмите . Перейдите через еще раз, чтобы выполнить оператор cout . (Обратите внимание, что в выпуске за март 2019 г. расширение C++ не выводит никаких выходных данных на консоль отладки до выхода из цикла.)

  4. Если хотите, вы можете продолжать нажимать Перешагнуть через , пока все слова в векторе не будут напечатаны на консоли. Но если вам интересно, попробуйте нажать Кнопка Step Into для просмотра исходного кода в стандартной библиотеке C++!

    Один из способов вернуться к собственному коду — продолжать нажимать Перешагнуть . Другой способ — установить точку останова в вашем коде, переключившись на вкладку helloworld. cpp в редакторе кода, поместив точку вставки где-нибудь на операторе cout внутри цикла и нажав F9. Красная точка появляется в поле слева, указывая на то, что в этой строке установлена ​​точка останова.

    Затем нажмите F5, чтобы начать выполнение с текущей строки в заголовке стандартной библиотеки. Выполнение прервется на cout . Если хотите, вы можете снова нажать F9, чтобы отключить точку останова.

    Когда цикл завершится, вы увидите выходные данные в интегрированном терминале вместе с некоторой другой диагностической информацией, которую выводит GDB.

Установить часы

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

  1. Поместите точку вставки внутрь цикла. В окне Watch щелкните знак «плюс» и в текстовом поле введите слово , которое является именем переменной цикла. Теперь просмотрите окно Watch, когда вы проходите через цикл.

  2. Добавьте еще одно наблюдение, добавив этот оператор перед циклом: int i = 0; . Затем внутри цикла добавьте следующий оператор: ++i; . Теперь добавьте часы на i , как и в предыдущем шаге.

  3. Чтобы быстро просмотреть значение любой переменной, пока выполнение приостановлено в точке останова, вы можете навести на нее указатель мыши.

Настройка отладки с помощью launch.json

При отладке с помощью кнопки воспроизведения или клавиши F5 расширение C++ создает динамическую конфигурацию отладки на лету.

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

Чтобы создать launch. json , выберите Добавить конфигурацию отладки в раскрывающемся меню кнопки воспроизведения.

Затем вы увидите раскрывающийся список для различных предопределенных конфигураций отладки. Выберите C/C++: g++.exe построить и отладить активный файл .

VS Code создает файл launch.json , который выглядит примерно так:

 {
  "версия": "0.2.0",
  "конфигурации": [
    {
      "name": "C/C++: активный файл сборки и отладки g++.exe",
      "тип": "cppdbg",
      "запрос": "запустить",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "аргументы": [],
      "stopAtEntry": ложь,
      "cwd": "${fileDirname}",
      "Окружающая среда": [],
      "внешняя консоль": ложь,
      «MIMode»: «gdb»,
      "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
      "команды установки": [
        {
          "description": "Включить красивую печать для gdb",
          "text": "-включить-красивую-печать",
          «игнорефаилурес»: правда
        }
      ],
      "preLaunchTask": "C/C++: активный файл сборки g++. exe"
    }
  ]
}
 

В приведенном выше JSON программа указывает программу, которую вы хотите отлаживать. Здесь указывается папка с активным файлом ( ${fileDirname} ) и имя активного файла с расширением .exe ( ${fileBasenameNoExtension}.exe ), которое, если helloworld.cpp является активным файлом, будет быть helloworld.exe . Свойство args представляет собой массив аргументов, которые необходимо передать программе во время выполнения.

По умолчанию расширение C++ не будет добавлять точки останова в ваш исходный код и Значение stopAtEntry установлено на false .

Измените значение stopAtEntry на true , чтобы при запуске отладки отладчик останавливался на основном методе .

С этого момента кнопка воспроизведения и F5 будут считывать файл launch.json при запуске вашей программы для отладки.

Конфигурации C/C++

Если вам нужен больший контроль над расширением C/C++, вы можете создать c_cpp_properties.json , который позволит вам изменить такие параметры, как путь к компилятору, включить пути, стандарт C++ (по умолчанию C++17) и многое другое.

Пользовательский интерфейс конфигурации C/C++ можно просмотреть, выполнив команду C/C++: Изменить конфигурации (UI) из палитры команд (⇧⌘P (Windows, Linux Ctrl+Shift+P)).

Откроется страница Конфигурации C/C++. Когда вы вносите изменения здесь, VS Code записывает их в файл с именем 9.0445 c_cpp_properties.json в папке .vscode .

Здесь мы изменили имя конфигурации на GCC , установили раскрывающийся список Compiler path на компилятор g++ и режим IntelliSense , чтобы он соответствовал компилятору ( gcc-x64 1

5 )

Код Visual Studio помещает эти параметры в . vscode\c_cpp_properties.json . Если вы откроете этот файл напрямую, он должен выглядеть примерно так:

 {
  "конфигурации": [
    {
      "имя": "ССЗ",
      "includePath": ["${workspaceFolder}/**"],
      "определяет": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.18362.0",
      "compilerPath": "C:/msys64/mingw64/bin/g++.exe",
      "cСтандарт": "c17",
      "cppStandard": "С++ 17",
      "intelliSenseMode": "виндовс-gcc-x64"
    }
  ],
  "версия": 4
}
 

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

Путь компилятора

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

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

Порядок поиска compilerPath :

  • Первая проверка компилятора Microsoft Visual C++
  • Затем найдите g++ в подсистеме Windows для Linux (WSL)
  • Тогда g++ для Mingw-w64.

Если у вас установлена ​​Visual Studio или WSL, вам может потребоваться изменить compilePath , чтобы он соответствовал предпочтительному компилятору для вашего проекта. Например, если вы установили Mingw-w64 версии 8.1.0 с использованием архитектуры i686, многопоточности Win32 и параметров установки обработки исключений sjlj, путь будет выглядеть следующим образом: C:\Program Files (x86)\mingw-w64\i686-8.1.0-win32-sjlj-rt_v6-rev0\mingw64\bin\g++.exe .

Устранение неполадок

MSYS2 установлен, но g++ и gdb по-прежнему не найдены

Вы должны выполнить шаги на веб-сайте MSYS2 и использовать интерфейс командной строки MSYS для установки Mingw-w64, который содержит эти инструменты.