Разное

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

Содержание

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

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

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

Эта статья призвана помочь вам выбрать бесплатный компилятор для C / 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++ для различных операционных систем.

Он может работать и создавать исполняемые файлы под 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++ для различных операционных систем.

Он может работать и создавать исполняемые файлы под 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

Рано или поздно при написании программ разработчики сталкиваются с тем, что нужно быстро проверить код. Однако далеко не всегда для этого надо запускать сложные прикладные программы и ресурсоёмкие десктопные IDE, тем более, если речь идёт о людях, которые только начинают изучать программирование. Решить проблему поможет специальная online-программакомпилятор.

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

IdeOne

IdeOne — компилятор и инструмент отладки, позволяющий прямо в браузере выполнять код. Поддерживает десятки языков, включая их конкретные версии. Возможна даже компиляция на Brainfuck.

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

Koding

В принципе, Koding.com это не online-компилятор в привычном смысле. Он позволяет создавать в облаке полноценные виртуальные машины под управлением Ubuntu, а на них уже можно делать всё, что заблагорассудится, включая компилирование кода. Есть панель управления своим сервером и окошко терминала. Доступна удобная IDE в интерфейсе.

JDoodle

Это приложение поддерживает много языков, среди которых есть те, которые вы не найдёте во многих других инструментах для компиляции. Приятная особенность JDoodle — возможность совместной работы с другом или с коллегой. Для этого достаточно отправить ссылку на текущую сессию, после чего можно разрабатывать приложения с удвоенной скоростью!

CodePad

Говорят, что быстрее и лучше работается с минималистичным сервисом. CodePad — именно таковым и является. Он простой и абсолютно нересурсоёмкий, поэтому сайт будет хорошо работать даже при медленной скорости вашего интернета. Вдобавок ко всему, предусмотрены такие «плюшки», как интеграция с Vim либо Emacs и автоподключение стандартных заголовков.

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

GCC GodBolt

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

А какой компилятор используете вы? Пишите в комментариях!

Лучшие компиляторы для C# — CodeRoad

Я начинаю учиться программировать в C#, и мне было интересно, какой в настоящее время лучший компилятор и какие IDEs имеют встроенные компиляторы C#. Мне 11 лет, и я начинаю учиться программировать, и мне нужно выбрать компилятор.

Я знаю о MS Visual Express, но я хочу знать, что в нем есть хорошего и плохого.

Кроме того, есть ли способ загрузить Visual C# Express в автономном режиме? Я не могу использовать веб-установщик.

c#

compiler-construction

Поделиться

Источник


Benny    

30 января 2011 в 23:54

7 ответов


  • компиляторы для языков 1950-х и 1960-х годов

    я пытаюсь найти лучшие компиляторы (если они действительно доступны) для следующих языков: ALGOL 60 TRAC TELCOMP Суперплан BACAIC я не знаю, есть ли еще что-нибудь из этого, но было бы очень полезно получить любую обратную связь о том, где я мог бы их найти.

  • Существуют ли оптимизированные компиляторы c++ для использования шаблонов?

    Шаблоны C++ были благословением в моей повседневной работе из-за своей силы. Но нельзя игнорировать (очень, очень, очень долгое) время компиляции, которое является результатом интенсивного использования шаблонов (привет, мета-программирование и библиотеки Boost). Я прочитал и попробовал довольно…



16

Похоже, ваш вопрос больше похож на «which IDE should I learn with?».

Я бы предложил MS Express editions для C, C++ и C#. это высокое качество, бесплатно, имеет интуитивно понятный интерфейс и имеет очень большое сообщество поддержки.

Поделиться


tenfour    

31 января 2011 в 00:03



3

C# / .NET

Visual C# Express 2010 должен дать вам все, что вам нужно, чтобы научиться программировать в C#.

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

Я не думаю, что вы должны упускать из виду некоторую разработку Windows Phone 7, чтобы ознакомиться с языком и библиотеками в довольно ограниченной среде.

Если ваша средняя школа позволяет это, посмотрите, можете ли вы настроить себя на DreamSpark.com и получить материал XNA, который (в последний раз, когда я проверял) включал бесплатное членство, которое позволит вам разрабатывать материал для Xbox 360.

Блог Microsoft Coding4Fun также может быть вдохновляющим, хотя мне кажется, что многие проекты настолько эзотеричны, что они, вероятно, не будут учить очень многому и не будут интересны, если у вас нет этого конкретного аппаратного обеспечения.

C

Изучение C, вероятно, лучше всего проводить в среде, подобной Unix, поскольку именно здесь язык берет свое начало. Современный дистрибутив GNU / Linux даст вам все необходимое (возможно, вам придется самостоятельно устанавливать пакеты разработки), что в основном:

  1. текстовый редактор (выберите один; многие любят Emacs, Vim и Scite)
  2. компилятор a C (GCC)
  3. отладчик (GDB)

В любом дистрибутиве должны быть доступны пакеты для них.

Проблемы

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

Желаю удачи!

Поделиться


Jeffy    

31 января 2011 в 04:23



2

Я нашел Compilr , который является онлайн-IDE и является бесплатным для 3 проектов и включает в себя несколько языков.

Поделиться


Benny    

03 марта 2011 в 09:43


  • Компиляторы для DOS32?

    Где я могу получить компиляторы BASIC и C/C++ для MS-DOS?

  • C++ компиляторы для встроенного программирования

    Для настольного и серверного программирования в C++ наиболее часто используются компиляторы Microsoft C++ и GCC. Каковы наиболее часто используемые компиляторы для встроенного программирования? Является ли наиболее типичным использование версии GCC или другие компиляторы более популярны?



1

Мое предположение это Mono

Из Википедии :

Mono-это бесплатный проект с открытым исходным кодом, возглавляемый Xamarin (ранее Novell и первоначально Ximian) для создания совместимого со стандартом Ecma, совместимого с фреймворком .NET набора инструментов, включая, среди прочего, компилятор C# и среду выполнения Common Language Runtime.

Заявленная цель Mono состоит не только в том, чтобы иметь возможность запускать кросс-платформенные приложения Microsoft .NET, но и в том, чтобы принести лучшие инструменты разработки для Linux developers.[4] Mono, которые могут быть запущены на многих программных системах, включая Android, большинство дистрибутивов Linux, BSD, OS X, Windows, Solaris и даже некоторые игровые консоли, такие как PlayStation 3, Wii и Xbox 360.

Логотип Mono представляет собой стилизованную морду обезьяны, а mono по-испански означает «обезьяна».

Поделиться


Switch    

08 апреля 2015 в 13:47



0

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

Если вы хотите научиться программированию, я рекомендую C# и Visual C# 2010 Express edition.

Поделиться


Andrew Noyes    

31 января 2011 в 02:37



0

для c определенно идите на ICC
C# я мог бы догадаться, что вы идете на VS 2010

Поделиться


Syntax_Error    

31 января 2011 в 00:10



0

Я бы сказал, что получить себе копию linux и gcc. Ubuntu-это хороший способ начать работу.

Поделиться


Dhaivat Pandya    

31 января 2011 в 00:15


Похожие вопросы:

Какие компиляторы C/C++ доступны для VxWorks?

Я новичок в среде VxWorks, мне интересно, какие компиляторы C и C++ доступны для использования с VxWorks?

Есть ли бесплатные компиляторы C++ для MacOSX?

Есть ли какие-либо бесплатные компиляторы C++ для установки в Mac OS (apple machine) пожалуйста ..подскажите ссылки, чтобы скачать процедуру & в INSTALL.Since иам новое использование для Mac OS

Лучший компилятор для C++

Возможный Дубликат : Какой самый лучший, стандартный (и, надеюсь, бесплатный) компилятор C++? Мне 10 лет, и мне было интересно, какие лучшие компиляторы C++ включают в себя IDE. Я знаю, что у MS…

компиляторы для языков 1950-х и 1960-х годов

я пытаюсь найти лучшие компиляторы (если они действительно доступны) для следующих языков: ALGOL 60 TRAC TELCOMP Суперплан BACAIC я не знаю, есть ли еще что-нибудь из этого, но было бы очень полезно…

Существуют ли оптимизированные компиляторы c++ для использования шаблонов?

Шаблоны C++ были благословением в моей повседневной работе из-за своей силы. Но нельзя игнорировать (очень, очень, очень долгое) время компиляции, которое является результатом интенсивного…

Компиляторы для DOS32?

Где я могу получить компиляторы BASIC и C/C++ для MS-DOS?

C++ компиляторы для встроенного программирования

Для настольного и серверного программирования в C++ наиболее часто используются компиляторы Microsoft C++ и GCC. Каковы наиболее часто используемые компиляторы для встроенного программирования?…

Существуют ли какие-либо компиляторы Objective-C для Windows?

Простой вопрос на самом деле, и я погуглил его… Существуют ли какие-либо компиляторы Objective-C, которые работают под windows 7, кроме запуска iOS под VirtualBox или VMWare? EDIT: вопрос изменен…

Какие компиляторы использовать?

Было много людей, которые говорили, что Codeblock и GNU-лучшие компиляторы. Я новичок в программировании C/C++. В настоящее время я использую Dev C++, так что имеет ли значение, какой компилятор я…

Позволяют ли какие-либо компиляторы C-таргетинга встроить C?

Некоторые компиляторы C испускают язык assembly и позволяют помещать фрагменты assembly в исходный код для дословного копирования в выходные данные, например…

Компиляторы и IDE для языка Си. Программирование.

Пожалуйста, приостановите работу AdBlock на этом сайте.



Программирование – это процесс написания компьютерных программ.

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

Примерно вот так они выглядят изначально:

Рис.1 Фрагмент исходного кода браузера Firefox.

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

Как вы, наверное, знаете, компьютер не понимает ничего, кроме нулей и единиц. Уж тем более он не понимает никаких слов, поэтому написанный нами текст программы для него, примерно как и для вас сейчас – набор непонятных символов. Чтобы компьютер понял то, что мы от него хотим, нам нужна специальная программа, которая, если так можно выразиться, переведет программу, записанную на языке программирования, на язык, понятный компьютеру. Такая программа называется компилятором, а сам процесс перевода программы на понятный компьютеру язык — компиляцией. Итак, процесс написания программ состоит в самом простом виде из следующих шагов:

  • написать код программы в любом текстовом редакторе
  • скомпилировать исходный код

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

Расскажи друзьям!
Или поддержи проект.

Практика

  1. Установить на свой компьютер любую IDE, которая поддерживает написание программ на языке Си (отдельно компилятор языка Си), и научиться выполнять в ней основные действия. Подробные инструкции ниже.

Дополнительные материалы

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

C++ Compiler — Embarcadero Website

Бесплатно загрузите C++ Compiler для C++Builder, который включает поддержку синтаксиса C++11, фреймворк Dinkumware STL (Standard Template Library) и полную Embarcadero C/C++ Runtime Library (RTL). В этой бесплатной версии вы также найдете ряд инструментов C++ для использования в командной строке — таких, как быстродействующий компоновщик (linker) и компилятор ресурсов.

The Free C++ Compiler download includes:

  • Компилятор Embarcadero C++ (bcc32c/bcc32x)
  • Пошаговый компоновщик Turbo (tlink32)
  • ​Предпроцессор C++ Win32 (cpp32)
  • Утилита библиотеки импорта — для создания библиотек импорта из библиотек динамической загрузки (DLL) (implib)
  • Библиотекарь для преобразования регистра символов, создания расширенных библиотек и изменения размера страницы (tlib)
  • Прочие полезные утилиты командной строки, например, make, grep и touch
  • ​Включает в себя библиотеку этапа исполнения Embarcadero C/C++ и библиотеку стандартных шаблонов DinkumwareANSI/ISO (STL)

C++Builder включает в себя компиляторы для Win64, macOS, iOS и Android. А C++Builder также оснащен современной, высокопроизводительной интегрированной средой разработки RAD Studio, инструментами отладки и имеет подключение корпоративного уровня для ускорения межплатформенного развития интерфейса пользователя. Более подробная информация о RAD Studio представлена на странице продукта.


C++ is available in three editions — Free, Community or Pro/Enterprise/Architect.

















Бесплатный компилятор C++C++Builder
Community Edition
C++Builder
Pro, Enterprise или Architect *
Kомпиляторов C++ на основе Clang
C++11
Исходный код библиотекС ограничениямиС ограничениями
Лицензия на коммерческое использованиеОдин пользовательОграниченное (отлично подходит для начинающего бизнеса)Полная
Создание и развертывание для Win32
Создание и развертывание для Win64

Создание и развертывание для macOS

Создание и развертывание для iOS

Создание и развертывание для Android

Интегрированная среда разработки и встроенное средство отладки с дополнением кода и прочими инструментами

Межплатформенные инструменты разработки пользовательского интерфейса

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

Приложения баз данных (локальные или многоуровневые)

Только местные

(*) See the полной таблице возможностей of Community, Pro, Enterprise and Architect.



Как получить компилятор C++

Бесплатная загрузка компилятора

Загрузите компилятор Embarcadero C++ (BCC32C/BCC32X) и инструменты командной строки, нажав на ссылку ниже.

Download Now

C++Builder Community Edition

Приступайте к работе с самым быстрым инструментом для программирования C++ вместе с нашей версией C++Builder Community Edition! C++Builder Community Edition включает в себя самую последнюю версию компилятора C++. Чтобы узнать больше о версии C++Builder Community Edition нажмите на ссылку ниже.
Подробные сведения о C++Builder Community Edition >

Learn more

30-дневная бесплатная лицензия

Нажмите на ссылку ниже, чтобы получить 30-дневную лицензию на пробное использование полной интегрированной среды разработки C++Builder. Эта полнофункциональная версия включает в себя новейшие компиляторы для Windows, macOS, Android и iOS, а также полную версию интегрированной среды разработки и средства визуальной разработки.
Загрузить пробную версию C++Builder >

Download Now



Условия использования | Онлайн-отладчик GDB

  Ярлыки IDE: 
Новый файл: Ctrl-M
Выполнить код: F9
Код отладки: F8
Сохранить проект: Ctrl-S
Украсить код: Ctrl-B
Меню настроек: Ctrl-Shift-S
Информация: Ctrl-I

  Ярлыки редактора: 
showSettingsMenu: Ctrl-,
goToNextError: Alt-E
goToPreviousError: Alt-Shift-E
selectall: Ctrl-A
готолин: Ctrl-L
сложить: Alt-L | Ctrl-F1
развернуть: Alt-Shift-L | Ctrl-Shift-F1
toggleFoldWidget: F2
toggleParentFoldWidget: Alt-F2
foldOther: Alt-0
развернуть: Alt-Shift-0
findnext: Ctrl-K
findprevious: Ctrl-Shift-K
selectOrFindNext: Alt-K
selectOrFindPrevious: Alt-Shift-K
найти: Ctrl-F
перезаписать: Вставить
selecttostart: Ctrl-Shift-Home
gotostart: Ctrl-Home
выбор: Shift-вверх
golineup: Вверх
selecttoend: Ctrl-Shift-End
gotoend: Ctrl-End
selectdown: Shift-вниз
голиндаун: Вниз
selectwordleft: Ctrl-Shift-Left
gotowordleft: Ctrl-Left
selecttolinestart: Alt-Shift-Left
gotolinestart: Alt-Left | На главную
selectleft: Shift-Left
gotoleft: Left
selectwordright: Ctrl-Shift-вправо
gotowordright: Ctrl-Вправо
selecttolineend: Alt-Shift-Right
gotolineend: Alt-Right | Конец
selectright: Shift-Right
gotoright: Право
selectpagedown: Shift-Pagedown
gotopagedown: Pagedown
selectpageup: Shift-Pageup
gotopageup: Pageup
прокрутка: Ctrl-Up
прокрутка вниз: Ctrl-вниз
selectlinestart: Shift-Home
selectlineend: Shift-End
переключить запись: Ctrl-Alt-E
replaymacro: Ctrl-Shift-E
скачкообразное сопоставление: Ctrl-P
выбор совпадения: Ctrl-Shift-P
expandToMatching: Ctrl-Shift-M
удалить линию: Ctrl-D
duplicateSelection: Ctrl-Shift-D
строки сортировки: Ctrl-Alt-S
togglecomment: Ctrl- /
toggleBlockComment: Ctrl-Shift- /
modifyNumberUp: Ctrl-Shift-вверх
modifyNumberDown: Ctrl-Shift-вниз
заменить: Ctrl-H
отменить: Ctrl-Z
повторить: Ctrl-Shift-Z | Ctrl-Y
copylinesup: Alt-Shift-Up
movelinesup: Alt-Up
copylinesdown: Alt-Shift-Down
movelinesdown: Alt-Down
del: Удалить
Backspace: Shift-Backspace | Backspace
cut_or_delete: Shift-Delete
removetolinestart: Alt-Backspace
removetolineend: Alt-Delete
removewordleft: Ctrl-Backspace
removewordright: Ctrl-Delete
outdent: Shift-Tab
отступ: Tab
blockoutdent: Ctrl- [
blockindent: Ctrl-]
транспозлеттеры: Ctrl-T
верхний регистр: Ctrl-U
tolowercase: Ctrl-Shift-U
expandtoline: Ctrl-Shift-L
addCursorAbove: Ctrl-Alt-Up
addCursorBelow: Ctrl-Alt-Down
addCursorAboveSkipCurrent: Ctrl-Alt-Shift-Up
addCursorBelowSkipCurrent: Ctrl-Alt-Shift-Down
selectMoreBefore: Ctrl-Alt-Left
selectMoreAfter: Ctrl-Alt-Right
selectNextBefore: Ctrl-Alt-Shift-Left
selectNextAfter: Ctrl-Alt-Shift-Right
splitIntoLines: Ctrl-Alt-L
alignCursors: Ctrl-Alt-A
findAll: Ctrl-Alt-K
showKeyboardShortcuts: Ctrl-Alt-H
           

Блог OnlineGDB — официальный блог OnlineGDB

Каждому хорошему программисту нужны более совершенные инструменты и технологии, облегчающие повседневную работу по программированию.Независимо от того, являетесь ли вы студентом или профессионалом, отладчик был ключевым инструментом, когда вы хотели решить логическую ошибку или ошибку времени выполнения в вашей программе. И, следовательно, OnlineGDB предоставляет еще одну ключевую функцию для программистов Java, вводя режим отладчика Java.

Как запустить java-программу в режиме отладки?
Goto Online IDE GDB. Нажмите кнопку «Отладка» на верхней панели. И вот, откроется интерфейс отладки и другие вспомогательные окна (например, стек вызовов, локальные переменные, точки останова)

Что можно делать в режиме отладки?
1.Установка / сброс точек останова
2. Пошаговое выполнение программы
3. См. Локальные переменные

Из этой статьи вы можете узнать больше об интерфейсе отладки OnlineGDB.

Вот короткая демонстрация того, как запустить Java-программу в режиме отладки.

Отладка Java-программы с помощью OnlineGDB

Отладчик

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

При этом мы рады сообщить, что теперь вы можете отлаживать программу на Python с помощью OnlineGDB IDE. Некоторые программисты на Python знали бы о модуле отладчика PDB. Мы создали простой в использовании веб-интерфейс для отладки программы Python, работающей под отладчиком PDB.

Как запустить программу Python в режиме отладки?
Goto Online IDE GDB. Нажмите кнопку «Отладка» на верхней панели. И вот, откроется консоль отладки PDB и другие вспомогательные окна (например,грамм. стек вызовов, локальные переменные, точки останова)

Что можно делать в режиме отладки?
1. Установка / очистка точек останова
2. Пошаговое выполнение программы
3. См. Локальные переменные
4. Консоль PDB доступна в режиме отладки, вы можете ввести любую команду pdb в консоли

Из этой статьи вы можете узнать больше об интерфейсе отладки OnlineGDB.

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

Отладка программы Python с помощью OnlineGDB

Если вы новичок в мире программирования, возможно, вы не слышали об отладчике.Итак, в этой статье я вкратце объясню использование отладчика OnlineGDB.

  • Что такое отладчик?
    В общем, отладчик — это утилита, которая запускает целевую программу в контролируемой среде, где вы можете контролировать выполнение программы и видеть состояние программы, когда программа приостановлена.
    GDB — такой отладчик, который используется для отладки программ C / C ++.
    OnlineGDB предоставляет интерфейс для использования GDB в облачной среде из вашего браузера.
  • Как я могу контролировать выполнение программы?
    Мы можем указать отладчику, когда следует приостановить программу, установив точки останова.
    Чтобы установить точку останова, щелкните пустую область слева от номера строки в редакторе. Когда вы щелкнете по нему, он должен отобразить красный кружок; что означает, что точка останова установлена ​​на этом номере строки. Вот изображение того, как это выглядит.

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

После установки точки останова, когда вы запускаете программу в режиме отладки, она приостанавливает выполнение, когда программа достигает строки, где установлена ​​точка останова.

Теперь мы можем использовать пошаговые команды для выполнения программы построчно.

1. continue — возобновить выполнение программы до тех пор, пока не будет достигнута следующая точка останова.
2. step into — Выполнить программу построчно, переходя к функции
3. step over — Выполнить программу построчно, но не входить в вызов функции
4. step out — Продолжить выполнение программы до завершения текущей функции

  • Что я могу увидеть, когда программа приостановлена?
    Вы можете видеть стек вызовов и значения локальных переменных текущей функции.Стек вызовов показывает вам цепочку вызовов функций. Как видно на изображении ниже, «основная» функция вызывает функцию «факториал», а «факториал» вызывает функцию «умножить».

Окно локальных переменных показывает вам значения локальных переменных текущей функции. Как показано на изображении ниже, значение «fact» равно 1, «i» равно 1.

Вот единственное изображение, показывающее использование отладчика OnlineGDB.

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

Мы выслушали наших пользователей, которые хотели запускать многофайловые проекты на C ++, и вот мы с поддержкой многофайлового проекта. Теперь вы можете создать несколько файлов для одного проекта и работать как один проект.

Вы можете создать новый файл, нажав «Ctrl + M» или «Новый файл» на панели управления вверху.

Вот пример многофайлового проекта на C ++.
https://www.onlinegdb.com/BkcHxB0QZ

Мы рады представить исполняемые фрагменты кода c / c ++. Теперь вы можете вставлять фрагменты кода, которые можно запускать с вашего сайта / блога. Вот живой пример встроенного фрагмента исполняемого кода.

Ниже приведены шаги по внедрению исполняемых фрагментов кода на ваш собственный веб-сайт.

  1. Перейти на onlinegdb.com
  2. Напишите и проверьте свой код
  3. Нажмите кнопку «Поделиться»
  4. Скопируйте ссылку «Вставить код», которая будет выглядеть как код ниже.
  5. Вставьте его в свою статью / страницу своего веб-сайта, где вы хотите отобразить исполняемый код. Теперь ваши читатели могут запускать фрагменты кода с вашего веб-сайта.

кредитов | Онлайн-отладчик GDB

  Ярлыки IDE: 
Новый файл: Ctrl-M
Выполнить код: F9
Код отладки: F8
Сохранить проект: Ctrl-S
Украсить код: Ctrl-B
Меню настроек: Ctrl-Shift-S
Информация: Ctrl-I

  Ярлыки редактора: 
showSettingsMenu: Ctrl-,
goToNextError: Alt-E
goToPreviousError: Alt-Shift-E
selectall: Ctrl-A
готолин: Ctrl-L
сложить: Alt-L | Ctrl-F1
развернуть: Alt-Shift-L | Ctrl-Shift-F1
toggleFoldWidget: F2
toggleParentFoldWidget: Alt-F2
foldOther: Alt-0
развернуть: Alt-Shift-0
findnext: Ctrl-K
findprevious: Ctrl-Shift-K
selectOrFindNext: Alt-K
selectOrFindPrevious: Alt-Shift-K
найти: Ctrl-F
перезаписать: Вставить
selecttostart: Ctrl-Shift-Home
gotostart: Ctrl-Home
выбор: Shift-вверх
golineup: Вверх
selecttoend: Ctrl-Shift-End
gotoend: Ctrl-End
selectdown: Shift-вниз
голиндаун: Вниз
selectwordleft: Ctrl-Shift-Left
gotowordleft: Ctrl-Left
selecttolinestart: Alt-Shift-Left
gotolinestart: Alt-Left | На главную
selectleft: Shift-Left
gotoleft: Left
selectwordright: Ctrl-Shift-вправо
gotowordright: Ctrl-Вправо
selecttolineend: Alt-Shift-Right
gotolineend: Alt-Right | Конец
selectright: Shift-Right
gotoright: Право
selectpagedown: Shift-Pagedown
gotopagedown: Pagedown
selectpageup: Shift-Pageup
gotopageup: Pageup
прокрутка: Ctrl-Up
прокрутка вниз: Ctrl-вниз
selectlinestart: Shift-Home
selectlineend: Shift-End
переключить запись: Ctrl-Alt-E
replaymacro: Ctrl-Shift-E
скачкообразное сопоставление: Ctrl-P
выбор совпадения: Ctrl-Shift-P
expandToMatching: Ctrl-Shift-M
удалить линию: Ctrl-D
duplicateSelection: Ctrl-Shift-D
строки сортировки: Ctrl-Alt-S
togglecomment: Ctrl- /
toggleBlockComment: Ctrl-Shift- /
modifyNumberUp: Ctrl-Shift-вверх
modifyNumberDown: Ctrl-Shift-вниз
заменить: Ctrl-H
отменить: Ctrl-Z
повторить: Ctrl-Shift-Z | Ctrl-Y
copylinesup: Alt-Shift-Up
movelinesup: Alt-Up
copylinesdown: Alt-Shift-Down
movelinesdown: Alt-Down
del: Удалить
Backspace: Shift-Backspace | Backspace
cut_or_delete: Shift-Delete
removetolinestart: Alt-Backspace
removetolineend: Alt-Delete
removewordleft: Ctrl-Backspace
removewordright: Ctrl-Delete
outdent: Shift-Tab
отступ: Tab
blockoutdent: Ctrl- [
blockindent: Ctrl-]
транспозлеттеры: Ctrl-T
верхний регистр: Ctrl-U
tolowercase: Ctrl-Shift-U
expandtoline: Ctrl-Shift-L
addCursorAbove: Ctrl-Alt-Up
addCursorBelow: Ctrl-Alt-Down
addCursorAboveSkipCurrent: Ctrl-Alt-Shift-Up
addCursorBelowSkipCurrent: Ctrl-Alt-Shift-Down
selectMoreBefore: Ctrl-Alt-Left
selectMoreAfter: Ctrl-Alt-Right
selectNextBefore: Ctrl-Alt-Shift-Left
selectNextAfter: Ctrl-Alt-Shift-Right
splitIntoLines: Ctrl-Alt-L
alignCursors: Ctrl-Alt-A
findAll: Ctrl-Alt-K
showKeyboardShortcuts: Ctrl-Alt-H
           

Компиляция программы C: — За кулисами

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

Как скомпилировать и запустить программу на языке C?
Ниже приведены шаги, которые мы используем на машине Ubuntu с компилятором gcc.

  • Сначала мы создаем программу C с помощью редактора и сохраняем файл как filename.c
  $ vi filename.c  
  • На схеме справа показана простая программа для сложения двух чисел.
  • Затем скомпилируйте его, используя команду ниже.
  $ gcc –Настенное имя файла.c –o имя_файла  
  • Параметр -Wall включает все предупреждающие сообщения компилятора. Этот вариант рекомендуется для создания лучшего кода.
    Опция -o используется для указания имени выходного файла. Если мы не используем эту опцию, то создается выходной файл с именем a.out.
  • После создания исполняемого файла компиляции мы запускаем сгенерированный исполняемый файл, используя команду ниже.
  $. / Имя файла  

Что происходит внутри процесса компиляции?
Компилятор преобразует программу C в исполняемый файл.Чтобы программа на C стала исполняемым файлом, делится на четыре этапа:

  1. Предварительная обработка
  2. Сборник
  3. Сборка
  4. Связывание

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

  $ gcc –Wall –save-temps filename.c –o filename  

На следующем снимке экрана показаны все сгенерированные промежуточные файлы.

Давайте посмотрим, что содержат эти промежуточные файлы.

Предварительная обработка

Это первая фаза, через которую проходит исходный код. Этот этап включает:

  • Удаление комментариев
  • Расширение макросов
  • Расширение включаемых файлов.
  • Условная компиляция

Предварительно обработанный вывод сохраняется в имени файла .i . Давайте посмотрим, что находится внутри filename.i: using $ vi filename.i
В приведенном выше выводе исходный файл заполнен огромным количеством информации, но в конце концов наш код сохраняется.
Анализ:

  • printf теперь содержит a + b, а не добавляет (a, b), потому что макросы расширились.
  • Комментарии удалены.
  • #include отсутствует, вместо этого мы видим много кода. Итак, файлы заголовков были расширены и включены в наш исходный файл.

Составление

Следующим шагом будет компиляция filename.i и создание файла; промежуточный скомпилированный выходной файл filename.с . Этот файл находится в инструкциях уровня сборки. Давайте посмотрим на этот файл, используя $ vi filename.s

Снимок показывает, что он написан на языке ассемблера, который может понять ассемблер.

Сборка
На этом этапе filename.s берется в качестве входных данных и превращается ассемблером в filename.o . Этот файл содержит инструкции машинного уровня. На этом этапе только существующий код преобразуется в машинный язык, вызовы функций, такие как printf (), не разрешаются.Давайте просмотрим этот файл, используя $ vi filename.o

Связывание

Это заключительный этап, на котором выполняется связывание всех вызовов функций с их определениями. Компоновщик знает, где реализованы все эти функции. Компоновщик также выполняет некоторую дополнительную работу, он добавляет некоторый дополнительный код в нашу программу, который требуется при запуске и завершении программы. Например, есть код, который требуется для настройки среды, например, для передачи аргументов командной строки.Эту задачу можно легко проверить, используя $ size filename.o и $ size filename . С помощью этих команд мы знаем, как выходной файл увеличивается от объектного файла до исполняемого файла. Это связано с дополнительным кодом, который компоновщик добавляет в нашу программу.

Обратите внимание, что GCC по умолчанию выполняет динамическое связывание, поэтому printf () динамически связан в вышеуказанной программе. Обратитесь к this, this и this для получения более подробной информации о статических и динамических связях.
Эта статья предоставлена ​​ Vikash Kumar .Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Какие бывают бесплатные компиляторы C и C ++?

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

  • Microsoft Windows SDK. Этот бесплатный SDK предназначен для Windows 7 и.NET Framework 4. Он предоставляет компиляторы, библиотеки инструментов, образцы кода и справочную систему для разработчиков.
  • Turbo C ++ для Windows 7,8,8.1 и 10. .NET Framework требуется для Windows 7, Vista и XP, но для более поздних версий Windows предварительных требований нет.
  • GCC — классический компилятор C с открытым исходным кодом для Linux и многих других операционных систем (включая Windows под Cygwin или Ming). Этот проект существует всегда и предоставляет отличное программное обеспечение с открытым исходным кодом.Он не поставляется с IDE, но существует множество.
  • Цифровой компилятор Mars C / C ++. Компания предлагает несколько бесплатных пакетов компилятора.
  • Xcode предназначен для операционной системы Apple Mac OSX и ее версии GCC. У него отличная документация и SDK для Mac и iPhone. Если у вас Mac, вы используете именно его.
  • Портативный компилятор C. Он был разработан на основе одного из самых ранних компиляторов C. В начале 80-х большинство компиляторов Си основывалось на нем. Переносимость была заложена в него с самого начала.
  • Failsafe C. Японский проект группы исследователей безопасности программного обеспечения Исследовательского центра информационной безопасности Национального института передовых промышленных наук и технологий, Япония. Эта версия C для Linux поддерживает более 500 функций (кроме C99 или Widechar) . Он обеспечивает полную защиту от чрезмерного доступа к блоку памяти, что делает его таким же безопасным, как Java и C #.
  • Pelles C — это бесплатный комплект разработчика для Windows и Windows Mobile, содержащий оптимизирующий компилятор C, сборщик макросов, компоновщик, компилятор ресурсов, компилятор сообщений, утилиту make и устанавливает компоновщики как для Windows, так и для Windows Mobile.Он также имеет IDE с управлением проектами, отладчиком, редактором исходного кода и редакторами ресурсов для диалогов, меню, таблиц строк, таблиц ускорителей, растровых изображений, значков, курсоров, анимированных курсоров, анимационных видеороликов, версий и манифестов XP.
  • Компилятор Borland C ++ 5.5 — невероятно быстрый 32-разрядный оптимизирующий компилятор. Он включает в себя последнюю поддержку языка ANSI / ISO C ++, включая структуру стандартной библиотеки шаблонов и поддержку шаблонов C ++, а также полную библиотеку времени выполнения Borland C / C ++. В бесплатную загрузку также включены инструменты командной строки Borland C / C ++, такие как высокопроизводительный компоновщик Borland и компилятор ресурсов.
  • nesC — это расширение языка программирования C, предназначенное для воплощения концепций структурирования и модели выполнения TinyOS. TinyOS — это управляемая событиями операционная система, разработанная для узлов сенсорной сети с очень ограниченными ресурсами (например, 8 Кбайт программной памяти, 512 байт ОЗУ).
  • Orange C. Orange C / C ++ поддерживает стандарты C через C11 и C ++ 11. Среда IDE является полнофункциональной и включает редактор раскраски. Этот компилятор работает под WIN32 и DOS. Он генерирует 32-битные программы для обоих.
  • SubC — это быстрый и простой компилятор открытого доступа для чистого подмножества языка программирования C на платформах Linux, FreeBSD и Windows.

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

Компиляция файлов C с помощью gcc, шаг за шагом | by Laura Roudge

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

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

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

Прежде всего, давайте поговорим об инструментах, которые мы будем использовать в нашем примере. Мы будем работать над Unix-подобной операционной системой, поэтому примеры могут отличаться от Windows. Нам нужен доступ к оболочке , которая, согласно http: // linuxcommand, является «программой, которая принимает команды с клавиатуры и передает их операционной системе для выполнения».орг. Для этого нам понадобится терминал или эмулятор терминала, который представляет собой просто окно, которое позволяет нам взаимодействовать с оболочкой. Внутри терминала мы должны увидеть приглашение оболочки, которое содержит ваше имя пользователя и имя компьютера, за которым следует переменная среды PS1, которая часто является символом «$». Мы можем вводить команды после этого символа в так называемой командной строке . Нам также понадобится текстовый редактор, например vi или emacs, для создания исходного файла.

Компиляция — это перевод исходного кода (кода, который мы пишем) в объектный код (последовательность операторов на машинном языке) компилятором .

Процесс компиляции состоит из четырех этапов:

  • Предварительная обработка
  • Компиляция
  • Сборка
  • Связывание

В качестве примера мы будем использовать компилятор gcc , что означает GNU Compiler Коллекция . Проект GNU — это бесплатное программное обеспечение и проект массового сотрудничества, запущенный Ричардом Столлманом в 1983 году, позволяющий разработчикам получить бесплатный доступ к мощным инструментам.

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

Для нашего примера давайте посмотрим на исходный код внутри файла с именем «main.c», где «.c» — это расширение файла, которое обычно означает, что файл написан на C. Это изображение находится внутри текстового редактора. vi:

main.c

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

Синим цветом показаны комментарии к коду, они полезны для запоминания того, что на самом деле делает ваш код через несколько месяцев после его создания.Нам они не нужны в такой маленькой программе, но ставить их — хорошая практика.

Далее у нас есть точка входа, функция main (). Это означает, что программа начнется с выполнения операторов, которые находятся внутри блока этой функции, то есть между фигурными скобками. Здесь всего два оператора: один выводит на терминал предложение «Hello, World», а другой сообщает программе «вернуть» 0, если она завершилась или завершилась правильно. Итак, после того, как мы скомпилировали его, если мы запустим эту программу, мы увидим только фразу «Hello, World».

Чтобы наш код main.c был исполняемым, нам нужно ввести команду «gcc main.c», и процесс компиляции пройдет через все четыре этапа, которые он содержит. Конечно, у gcc есть опции, которые позволяют останавливать процесс компиляции после каждого шага. Давайте посмотрим на них.

1. Препроцессор

Препроцессор имеет несколько ролей:

  • он избавляется от всех комментариев в исходном файле (файлах)
  • он включает код файла (ов) заголовков , который это файл с расширением.h, который содержит объявления функций C и определения макросов
  • , он заменяет все макросы (фрагменты кода, которым присвоено имя) их значениями

Вывод этого шага будет сохранен в файле с меткой « .i », так что здесь оно будет в main.i.

Чтобы остановить компиляцию сразу после этого шага, мы можем использовать опцию «-E» с командой gcc для исходного файла и нажать Enter.

На этом и закончилась основная.Файл i должен выглядеть так:

2. Компилятор

Компилятор возьмет предварительно обработанный файл и сгенерирует IR-код (промежуточное представление), так что это создаст файл «.s». При этом другие компиляторы могут создавать ассемблерный код на этом этапе компиляции.

Мы можем остановиться после этого шага с помощью опции «-S» в команде gcc и нажать Enter.

Вот как должен выглядеть файл main.s:

3. Ассемблер

Ассемблер берет код IR и преобразует его в объектный код, то есть код на машинном языке (т.е.е. двоичный). В результате будет получен файл с расширением «.o».

Мы можем остановить процесс компиляции после этого шага, используя опцию «-c» с командой gcc и нажав Enter.

Наш файл main.o должен выглядеть так (нет, он не читается человеком):

4. Компоновщик

Компоновщик создает окончательный исполняемый файл в двоичном формате и может играть две роли:

  • , связывая все исходные файлы вместе, то есть все остальные объектные коды в проекте. Например, если я хочу скомпилировать файл main.c с другим файлом с именем secondary.c и объедините их в одну программу, это шаг, на котором объектный код secondary.c (то есть secondary.o) будет связан с кодом объекта main.c (main.o) .
  • связывание вызовов функций с их определениями. Компоновщик знает, где искать определения функций в статических библиотеках , динамических библиотеках или . Статические библиотеки — это «результат того, что компоновщик копирует все используемые библиотечные функции в исполняемый файл», согласно geeksforgeeks.org, а динамические библиотеки «не требуют копирования кода, это можно сделать, просто поместив имя библиотеки в двоичный файл». Обратите внимание, что gcc по умолчанию использует динамические библиотеки. В нашем примере это когда компоновщик найдет определение нашей функции «put» и свяжет его.

По умолчанию, после этого четвертого и последнего шага, то есть когда вы вводите всю команду «gcc main.c» без каких-либо параметров, компилятор создает исполняемую программу с именем a.out, , которую мы можем запустить с помощью набрав “./a.out » в командной строке.

Мы также можем создать исполняемую программу с желаемым именем, добавив параметр «-o» в команду gcc, поместив после имени файла или файлов, которые мы компилируем, и нажав Enter:

Итак, теперь мы могли либо ввести «./a.out», если вы не использовали параметр -o, либо «./my_program» для выполнения скомпилированного кода, результатом будет «Hello, World», а после Приглашение оболочки появится снова.

Неполный список компиляторов C ++

Компиляторы C ++

Морган Стенли
|
Колумбийский университет
|
Черчилль-колледж, Кембридж

дома
|
C ++
|
Часто задаваемые вопросы
|
технический FAQ
|
публикации
|
Документы WG21
|
TC ++ PL
|
Тур ++
|
Программирование
|
D&E
|
биография
|
интервью
|
ролики
|
цитаты
|
Приложения
|
руководящие указания
|
составители

Изменено 28 апреля 2019 г.

Меня (Бьярна Страуструпа) часто просят порекомендовать
компилятор C ++.Однако я не даю рекомендаций; это было бы слишком похоже на то, чтобы принять чью-то сторону
в торговых войнах.
Кроме того, я не знаю всех компиляторов C ++; просто слишком много «там».

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

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

При поиске C ++ в Интернете вы обнаружите, что большая часть информации
«спрятаны» под разными названиями продуктов. На самом деле мне повезло больше найти
Компиляторы C ++ с использованием Google.com, чем при обращении непосредственно к поставщикам, которых я знал
продал их.
Здесь я выбрал C ++
реализации просто по имени их поставщика, игнорируя маркетинг
этикетки.

Некоторые компиляторы, которые можно скачать бесплатно (обязательно проверьте их
условия / лицензии перед попыткой коммерческого использования):

Некоторые компиляторы требуют оплаты (некоторые разрешают бесплатную загрузку для
испытательные периоды):

Я не могу поддерживать этот список в полном объеме и в актуальном состоянии.

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

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