- MinGW — бесплатный С и С++ компилятор для Windows
- Обзор GCC
- Установка MinGW
- MinGW — c и c++ компилятор для Windows
- Войдите в MinGW
- Настройка процесса сборки
- С make
- С CMake
- Особенности библиотек
- А как насчет этих зависимостей?
- Библиотеки DLL
- Подбираем бесплатный компилятор для 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
- Leonardo IDE
- Turbo C 2.01
MinGW — бесплатный С и С++ компилятор для Windows
Предоставляет полный набор инструментов для компилирования и линковки программ без использования каких либо платных библиотек или инструментов.
Все утилиты предназначены для работы из командной строки, но могут использоваться такими популярными IDE как NetBeans, Eclipse и DevCPP, которые предоставляют графический интерфейс к компиляторам GCC.
Обзор GCC
GCC — GNU Compiler Collection, первый С компилятор с открытым исходным кодом, он был выпущен в 1987 г. Возможность создавать С++ программы была добавлена в 1992 г.
Впоследствии функциональность компилятора была расширена и включена поддержка таких языков программирования как Objective-C, Java, Fortran, ADA и другие.
GCC — очень мощный инструмент, распространяемый под лицензией GNU GPL (GNU General Public License), написан на языке С и в данный момент является кроссплатформенным — может работать практически под любой современной операционной системой и компилировать программы под различные типы процессоров, в том числе для микроконтроллеров, портативных устройств и 64-разрядных процессоров.
Установка MinGW
Официальный сайт MinGW http://www.mingw.org. Чтобы скачать комплект, перейдите на страницу http://sourceforge.net/downloads/mingw, вам понадобится файл «mingw-get-inst» с расширением EXE.
Для установки требуется подключение к сети интернет.
Рзмещайте все файлы по стандартному пути, например, «C:\MinGW».
В данном случае выбраны компилятор С и С++, инструменты для разработки и комплект утилит командной строки — MSYS.
Если всё выбрано правильно, жмём «Install».
Закройте окно установщика — нажмите «Finish».
Нам потребуется значение переменной PATH, там должны быть прописаны пути к папкам с исполняемыми файлами MinGW и MSYS, в данном случае это директории «C:\MinGW\bin» и «C:\MinGW\msys\1.0\bin».
Если эти значения не были автоматически добавлены в переменную в процессе установки, допишите их вручную, добавте в начало строку «C:\MinGW\bin;C:\MinGW\msys\1.0\bin;», только без кавычек.
Если в вашей операционной системе отсутствует переменная PATH, то создайте её самостоятельно.
Теперь, когда все инструменты установлены, можно использовать GCC компиляторы в режиме командной строки или настроить их использование в своей IDE.
MinGW — c и c++ компилятор для Windows
Если говорить о релизах современных видеоигр, то всегда возникает вопрос о многоплатформенной поддержке. Когда вы создаете браузерную игру, браузер — это ваша платформа, и вы действительно не беспокоитесь об ОС под ней. При использовании популярного движка вы можете проверить, работают ли различные версии, но вы все еще в основном полагаетесь на способность оригинальных разработчиков заставить его работать на всех платформах.
Но все совершенно по-другому, когда ваша игра работает без движка или использует движок вашего собственного производства. Вы должны сами позаботиться о том, чтобы программа работала нормально на тех платформах, которые вы хотите поддерживать. Но еще до запуска есть вопрос сборки – вы должны фактически скомпилировать программу для целевой платформы.
Одним из способов сделать это, конечно, является наличие машины, работающей на указанной платформе (возможно, в режиме мультизагрузки), которая поставляется со своим собственным набором неприятностей. Другое решение — кросс – компиляция, и именно это я вкратце опишу здесь.
Войдите в MinGW
Для кросс-компиляции программ на C / C++ большинство разработчиков используют MinGW – минималистичный GNU для Windows, который, как следует из названия, представляет собой набор программ (порты gcc, gdb и т. Д.), заголовков и статических библиотек, позволяющих кросс-компиляцию материала для MS Windows на других платформах.
Настройка среды MinGW с нуля может быть утомительной, но, к счастью, самый популярный дистрибутивный пакет MinGW сам по себе и порты MinGW некоторых библиотек находятся в их репозиториях. Установить компилятор MinGW из дистрибутива так же просто, как и любое другое программное обеспечение.
# При установке на 64-битную Windows
root $ dnfinstall mingw64-gcc mingw64-gcc-g++ mingw64-…
# При установке на 32-битную Windows
root $ dnf установите mingw32-gcc mingw32-gcc-g++ mingw32-…
Настройка процесса сборки
Как только вы установили компилятор, пришло время взглянуть на ваш собственный проект и его систему сборки.
С make
Если вы используете make для управления процессом сборки, то, скорее всего, ваш Makefile уже отлично работает для кросс-компиляции, и вам не нужно будет вносить никаких изменений.
В принципе, на этом этапе есть два требования:
- Должна быть возможность указать, какой компилятор C / C++ следует использовать (например, через CC)
- Должна быть возможность указывать флаги компоновщика (например, через LDLIBS)
Если вы используете жестко закодированное имя компилятора или флаги, то пришло время отредактировать файл Makefile и привести его в форму. Как только все это будет сделано, просто укажите флаги кросс-компилятора MinGW и специфичного для Windows компоновщика, и все готово.
# Для 64-битных сборок
user $ CC=x86_64-w64-mingw32-gcc LDLIBS=-lmingw32 make [args…]
# Для 32-битных сборок; аналогично приведенному выше, отличается только имя компилятора
user$ CC=i686-w64-mingw32-gcc LDLIBS=-lmingw32 make [args…]
Если вы компилируете C++, а не C, вы захотите использовать переменную CXX и …компилятор mingw32-gcc-g++.
С CMake
При использовании CMake вам нужно будет внести одно небольшое изменение в ваш CMakeLists.txt: то есть добавление библиотеки mingw32 в вашуtarget_link_libraries(). Вы можете посмеяться над этим и сказать: «О, я могу просто использовать — DCMAKE_EXE_LINKER_FLAGS», но проблема с использованием этой переменной заключается в том, что при вызове компилятора содержимое переменной помещается перед именами объектов, например:
x86_64-w64-mingw32-gcc -Wall -Wextra -lmingw32 -lm -o «build/my-game.exe» build/mygame.o build/stuff.o build/fluff.o
Поскольку порядок аргументов важен для компоновщика (библиотеки должны следовать за объектами, которые ссылаются на них), сборка, скорее всего, завершится неудачей с большим количеством ошибок «неразрешенной ссылки».
При указании библиотек через target_link_libraries () команда строится с именами библиотек, следующими за именами объектов, и все заканчивается прекрасно и денди. Как только вы внесете указанное изменение, продолжайте запускать CMake с помощью файла MinGWtoolchain.
# Для 64-битных сборок; другие дистрибутивы могут поместить файл toolchain под другой путь
user $ cmake-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw64.cmake [args…]
# Для 32-битных сборок; то же самое, что и выше, но с использованием 32-битного профиля
user $ cmake-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw32.cmake [args…]
# Как только файлы сборки будут сгенерированы с помощью правильного файла toolchain,
# вам больше не нужно ссылаться на него, и вы можете просто выполнить обычную сборку
Если вам кажется, что ваш дистрибутив не предоставляет готовый файл toolchain, вы можете попробовать взять его из Fedora и соответствующим образом отредактировать
Особенности библиотек
В зависимости от используемых библиотек могут потребоваться некоторые дополнительные шаги. Например, при использовании SDL2 вам также нужно будет добавить библиотеку SDL2main к флагам компоновщика. Причина этого заключается в том, что в MS Windows существует строгое разделение между «консольными» и «ГРАФИЧЕСКИМИ» программами – первые всегда порождают cmd.exe window (оболочка MS Windows), где они выполняют свой stdin/stdout IO, в то время как у вторых этого нет.
В то время как консольные программы начинают свое выполнение с функции main (), графические программы обычно начинают свое выполнение с функции WinMain ().
Чтобы избавить вас от необходимости иметь две версии вашей основной функции, статическая библиотека SDL2main предоставляет свою собственную реализацию WinMain(), которая выполняет некоторый дополнительный код инициализации SDL, а затем вызывает вашу основную функцию ().
Этот подход обычно встречается в других библиотеках – например, библиотеки программирования игр Allegro и SFML предоставляют свои соответствующие статические библиотеки allegro_main и sfml-main.
А как насчет этих зависимостей?
Написание игры с использованием собственного движка уже является мазохизмом, поэтому, если вы не пытаетесь достичь новых крайностей и используете только собственные API, ваша игра, вероятно, зависит от какой-то популярной мультимедийной библиотеки, такой как Allegro, SDL или SFML. Чтобы успешно скомпилировать вашу игру для MS Windows, вам также нужно позаботиться об этом.
Простой способ: установка зависимостей из дистрибутива репо
Если вам посчастливилось и весь ваш набор зависимостей имеет версии MinGW, доступные в менеджере пакетов, то просто установите что-нибудь из репозитория, и все будет в порядке.
root $ dnf install mingw64-SDL2 mingw64-SDL2_image mingw64-SDL2_mixer mingw64-SDL2_ttf
Способ средней сложности: установка предварительно скомпилированных зависимостей вручную
Хотя описанный выше сценарий, безусловно, самый простой, обработка зависимостей не так уж и сложна, если их авторы предоставляют файлы разработки MinGW. Например, рассмотрим библиотеку Аллегро. Релизы на GitHub содержат множество загружаемых вариантов каждой версии, среди которых есть наборы MinGWdev. Если вы загрузите один из них (выберите тот, который подходит для вашей цели кросс-компиляции) и распакуете архив, вы увидите такую структуру каталогов:
Каталоги в этом архиве содержат DLL-файлы (в bin/), заголовки (в include/) и файлы .a – проще говоря, все, что вам нужно, чтобы иметь возможность компилировать и связывать программу с Allegro, не компилируя саму Allegro. Теперь все, что осталось сделать, это скопировать эти файлы в MinGWroot – это /usr/x86_64-w64-mingw32/sys-root/mingw/ для 64-битных библиотек и /usr/i686-w64-mingw32/sys-root/mingw/ для 32-битных библиотек.
Сложный способ: компиляция зависимостей из исходного кода
В конце списка находится, конечно же, компиляция зависимостей из исходного кода. Хотя это и отнимает много времени, но все же относительно легко, так как вам просто нужно применить описанный выше подход к каждой нужной вам библиотеке.
По моему опыту, самая трудная часть компиляции всей цепочки зависимостей-это настройка каждого файла Makefile / CMakeLists.txt когда вы идете, чтобы заставить каждую библиотеку распознавать, где находятся ее зависимости – хотя вы можете избежать этого, установив каждую скомпилированную библиотеку в корневой каталог MinGW (если вы не возражаете против беспорядка, то есть).
Библиотеки DLL
Как только вы скомпилируете свою игру, последнее, что вам остается сделать, — это упаковать и опубликовать ее. Но для правильной работы исполняемого файла вам понадобятся все библиотеки DLL, от которых он зависит. Чтобы узнать, какие общие объекты динамически загружаемые библиотеки необходимы, вы можете использовать программу objdump:
user$ objdump -x my-awesome-game.exe | grep ‘Имя DLL:’
Теперь, когда вы знаете, какие библиотеки DLL необходимы, вам нужно найти и скопировать их. Если вы хотите сделать это вручную, имейте в виду, что библиотеки DLL могут зависеть от других библиотек DLL, поэтому захвата только прямых зависимостей EXE-файла вашей игры может быть недостаточно. Если вы ищете простой, автоматизированный способ, вы можете использовать copydeps, небольшую программу на Python, которая отлично подходит именно для этой цели.
Подбираем бесплатный компилятор для C / C++
C — это простой процедурный язык программирования общего назначения. Он достаточно прост в освоении. В то же время он мощный, чтобы его можно было использовать для создания любой компьютерной программы.
C++ — это объектно-ориентированный язык программирования, который изначально был создан как надмножество C . Языки C и C++ являются одними из самых популярных технологий, используемых для написания программ.
Эта статья призвана помочь вам выбрать бесплатный компилятор для C / C++ для различных операционных систем.
Open Watcom V2 Fork
Он может работать и создавать исполняемые файлы под Windows ( 16-разрядные, 32-разрядные и 64-разрядные версии ), Linux ( 32-разрядные и 64-разрядные версии ), OS / 2 и MS-DOS ( 16-разрядные и 32-разрядные режимы ). Стоит пояснить, что Watcom — это был известный коммерческий компилятор, пока первоначальные разработчики не прекратили его продажи и не опубликовали исходный код ( в соответствии с публичной лицензией Sybase Open Watcom ).
Microsoft Visual Studio Community
Для индивидуальных или начинающих программистов 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 для LLVM
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
Проект MinGW-w64 предоставляет библиотеки, заголовки, необходимые компиляторам C и C++ GNU для работы в системе Windows . В случае MinGW-w64 эти файлы поддержки позволяют создавать 64-битные программы в дополнение к 32-битным . Проект также предоставляет кросс-компиляторы, так что можно скомпилировать программу Windows из системы Linux .
AMD x86 Open64 Compiler Suite
Это версия набора компиляторов Open64 ( описанного ниже ), которая была настроена для процессоров AMD и имеет дополнительные исправления ошибок. Компилятор C / C++ соответствует стандартам ANSI C99 и ISO C++ 98 , поддерживает межъязыковые вызовы ( так как он включает в себя компилятор Fortran ), 32-битный и 64-битный код x86 , векторную и скалярную генерацию кода SSE / SSE2 / SSE3, OpenMP 2.5 для моделей с разделяемой памятью, MPICH2 для моделей с распределенной и разделяемой памятью; содержит оптимизатор, поддерживающий огромное количество оптимизаций ( глобальную, цикл-узел, межпроцедурный анализ, обратную связь ) и многое другое. Набор поставляется с оптимизированной AMD Core Math Library и документацией. Для этого набора компиляторов требуется Linux .
Компилятор C/C++ Open Source Watcom / Open Watcom
Является бесплатным компилятором для 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++)
Digital Mars C / C ++ является заменой Symantec C++ с поддержкой компиляции программ для Win32 , Windows 3.1 , MSDOS и 32-разрядных расширенных MSDOS . Если используемый ПК не имеет процессора с плавающей запятой ( машины pre-Pentium ), можно связать эмуляцию с плавающей запятой в вашей программе. Компилятор поддерживает определение C++ из аннотированного руководства по C++ ( ARM ) и расширенные функции языка AT & T версии 3.0 , включая шаблоны, вложенные классы, вложенные типы, обработку исключений и идентификацию типа во время выполнения.
UPS Debugger (интерпретатор C)
Это графический отладчик уровня исходного кода для X Window , который содержит встроенный интерпретатор языка C . Он может обрабатывать один или несколько исходных файлов. Можно использовать его для создания исполняемого файла с байтовым кодом и выполнения интерпретатора в этом исполняемом файле. Если вам нужен интерпретатор для отладки или создания прототипов программ, или просто для изучения языка, попробуйте этот инструмент. Он поддерживает следующие платформы: Solaris , SunOS , Linux , FreeBSD , BSD / OS и некоторые другие Unix-платформы .
The BDS C Compiler
Помните старый ( популярный ) компилятор C BDS для систем CP / M 8080 / Z80 ? В настоящее время этот компилятор языка C находится в публичном доступе, в комплекте с исходным кодом языка ассемблера. Пакет представляет собой розничную версию компилятора с компоновщиком и руководством пользователя. Его можно использовать для простой генерации кода 8080/8085 / Z80 для встраиваемых систем ( то есть создавать собственные процедуры для замены любого кода библиотеки, который обращается к функциям операционной системы ).
Компилятор C / C++ Bloodshed Dev
Это интегрированная среда разработки Win32 , включающая в себя компилятор C++ egcs и отладчик GNU из среды Mingw32 . А также редактор и другие средства, облегчающие разработку программ с использованием компилятора Mingw32 gcc на платформе Windows . Он также содержит программу установки для приложений.
Компилятор C Orange
Он работает как в Windows , так и в DOS , имеет интегрированную среду разработки с редактором программ ( с подсветкой синтаксиса и автоматическим завершением кода ). Он может генерировать программы для Win32 и MSDOS , а также файлы Intel и Motorola hex ( что полезно, если вы пишете программы для встроенных систем ). Для вывода MSDOS ваши программы будут использовать расширитель DOS .
DeSmet C
DeSmet C должен быть знаком тем, кто программировал на C в 1980-х годах. Это компилятор C для MSDOS . Он был выпущен под лицензией GNU GPL и поставляется с руководствами, редактором и сторонним оптимизатором.
Apple Xcode для Mac OS X
Xcode — это интегрированная среда разработки Apple , которая включает в себя редактор с подсветкой синтаксиса, систему управления сборкой, отладчик, компилятор C GNU ( gcc ), конструктор интерфейса, AppleScript Studio , поддержку разработки на Java , инструменты разработки WebObjects . Чтобы получить в свое распоряжение данные инструменты необходимо быть участником Apple Developer Connection ( ADC ) . Но онлайн-членство является бесплатным.
Tiny C Compiler — самый компактный Linux C компилятор
Этот небольшой компилятор C для Linux и Windows генерирует оптимизированные двоичные файлы x86 . Утверждается, что он собирает, компонует и связывает код в несколько раз быстрее, чем GCC . В настоящий момент разработчики стремятся обеспечить соответствие ISO C99 . Компилятор также включает необязательную проверку границ. Он обрабатывает файлы скриптов C ( просто добавьте в Linux shebang код #!/usr/local/bin/tcc -run в первую строку исходного кода на C , чтобы он выполнялся напрямую ). TCC распространяется под лицензией GNU General Public License .
Portable Object Compiler
Это набор библиотек классов и компилятор Objective C , который преобразует код Objective C в простой C-код . Работает на Windows , Linux , OS / 2 , Macintosh и т. д.
C & C++ компиляторы Mingw32
Эта система поставляется с компилятором GNU C / C++ , который можно использовать для создания исполняемых файлов Win32 . Она содержит собственный , который находится в открытом доступе. Предполагается, что приложения, созданные с использованием этой системы, будут быстрее, чем, те которые созданы с помощью Cygwin32 , и они не ограничиваются положениями лицензии GNU . Mingw32 поставляется с инструментами для обработки текста ( sed, grep ), генератором лексического анализатора ( flex ), генератором парсеров ( bison ) и т. д. Mingw32 также поставляется с компилятором ресурсов Windows .
Компилятор C / C++ GNU
На странице компилятора C GNU можно получить ссылки на бинарные файлы и исходный код для компилятора GNU C . Также можно использовать приведенные в этой статье ссылки на наиболее часто запрашиваемые бинарные версии ( MSDOS и Win32 ).
Компилятор C Pelles
Еще один компилятор C , основанный на LCC ( смотрите также LCC-Win32 ). Он включает в себя компилятор C , компоновщик, компилятор ресурсов, сообщений, утилиту make и другие инструменты. Он компилирует код для Windows и Pocket PC .
Компилятор C Compaq
Пользователи Linux / Alpha теперь могут бесплатно скачивать и использовать компилятор Compaq , просто заполнив форму и приняв лицензионное соглашение. Компилятор может использоваться для генерации любых программ, коммерческих или иных. Он включает в себя математическую библиотеку и отладчик ( ladebug ), перенесенный из True64 Unix . Он поставляется с обычными справочными страницами, а также справочником по языку и руководством программиста.
Интерпретатор C / C++ Ch Embeddable (стандартная версия)
Интерпретатор C / C++ , поддерживающий стандарт ISO 1990 C ( C90 ), основные функции C99 , классы C++ , а также расширения к языку С , такие как вложенные функции, строковый тип и т. д. Он может быть встроен в другие приложения и аппаратные средства, использоваться в качестве языка сценариев. Код C / C++ интерпретируется напрямую без компиляции промежуточного кода. Поскольку этот интерпретатор поддерживает Linux , Windows , MacOS X , Solaris и HP-UX , созданный вами код можно перенести на любую из этих платформ. Стандартная версия бесплатна для личного, академического и коммерческого использования. Для загрузки пакета необходимо зарегистрироваться.
Компиляторы C и C++ DJGPP
Это система разработки, основанная на хорошо известном компиляторе C / C++ GNU . Она генерирует 32-разрядные исполняемые файлы MSDOS , которые являются файлами с длинными именами Windows 95 . Это очень функциональная система с IDE , графическими библиотеками, генераторами лексического анализатора ( flex ), генераторами парсеров ( bison ), утилитами обработки текста и так далее. Компилятор языка C , утилиты и библиотеки поставляются с исходным кодом.
Cilk — ANSI компилятор на основе C
Cilk — это язык на основе ANSI C , который может использоваться для многопоточного параллельного программирования. Это особенно эффективно для использования динамического, высоко асинхронного параллелизма в стиле параллельных данных или передачи сообщений. На официальном сайте упоминается, что Cilk уже используется для разработки трех шахматных программ мирового класса: StarTech , Socrates и Cilkchess .
Sphinx — компилятор C—
Это своего рода сочетание компилятора C и ассемблера, который позволяет « создавать программы с возможностями и читабельностью C , сохраняя при этом эффективность языка ассемблера ». Он может создавать исполняемые файлы MSDOS или файлы .OBJ , которые можно применять вместе с другими компоновщиками для создания исполняемого файла. По приведенной выше ссылке можно найти исходный код и документацию для компилятора. Если вы хотите получить предварительно скомпилированный бинарный файл, это можно сделать на неофициальном сайте компилятора C— Sphinx .
Компилятор C LSI C-86
Сайт этого компилятора написан на японском языке. Он выглядит как кросс-компилятор, позволяющий генерировать код для ROM . Старая версия компилятора ( 3.30c ) предоставляется бесплатно. Бесплатная версия работает только на MSDOS .
Кросс-компилятор C SDCC
Это кросс-компилятор C , предназначенный для микропроцессоров Intel 8051 , DS390, Z80, HC08 и PIC. Он также может быть переназначен для других 8-битных микроконтроллеров или ОСТО . SDCC поставляется с перенастраиваемым ассемблером и компоновщиком, отладчиком исходного уровня и симулятором. Библиотеки совместимы со стандартом C99 . Исходный код для компилятора доступен под лицензией GPL . Поддерживаются такие платформы, как Linux , Windows , Mac OS X , Alpha , Sparc и другие.
Компилятор C LADSoft CC386
Это компилятор ANSI C для MSDOS / DPMI и Win32 , который поставляется с библиотекой среды выполнения, компоновщиком, отладчиком, DOS-расширителем ( версия MSDOS ), IDE ( версия Win32 ) и утилитой make . Также доступен исходный код. При работе в режиме совместимости с C99 он компилирует большинство конструкций C99 .
Проект Cygwin (компиляторы C и C ++)
Этот «проект» включает в себя коммерческий компилятор ( GNU C / C++ ), который генерирует графический интерфейс Win32 и консольные приложения. Предоставляется исходный код компилятора, библиотек и инструментов. Обратите внимание, что опция по умолчанию в этом пакете требует от вас распространять исходный код, если вы компилируете и связываетесь со своими библиотеками. Существует также специальная вызываемая опция, которая задает возможность связи с альтернативными библиотеками, позволяя распространять свои приложения без источников.
Компилятор C LCC-Win32
Это компилятор C для Windows , который генерирует графический интерфейс Win32 и консольные приложения. Он поставляется со своим собственным компоновщиком, IDE , отладчиком, редактором и компилятором ресурсов. LCC- Win32 основан на компиляторе LCC и является бесплатным только для некоммерческого использования.
LCC — перенанаправляемый компилятор для ANSI C
LCC — это компилятор C ( только исходный код ), который генерирует код для Alpha , Sparc , MIPS R3000 и Intel x86 . Он является основой как минимум для двух других компиляторов Win32 C ( также описанных выше ).
Cyclone C
Cyclone C не является компилятором ANSI C в строгом значении, а представляет собой компилятор « безопасного диалекта » C . Он обеспечивает безопасность типов, имеет множество проверок для защиты от переполнения буфера, связанных с массивами нарушений и т. д. В настоящее время он работает на Linux и Windows ( в последнем случае через Cygwin ), для него требуется наличие в системе инструментов компиляции GNU .
Leonardo IDE
Это IDE на базе Macintosh , компилятор и отладчик для программ на C . Он включает в себя редактор с подсветкой синтаксиса, ANSI C компилятор, компилятор для языка визуализации ALPHA , редактор графов, обратимый виртуальный процессор и т. д.
Обратите внимание, что программы в код, который будет выполняться для виртуального ЦПУ. Виртуальная машина и отладчик позволяют выполнять код вперед и назад и поддерживать многозадачность. IDE поставляется с анимированными алгоритмами, примерами исходного кода таких игр, как Tetris , Checkers и других. IDE полезна для проверки и отладки исходного кода, поиска процессов, неэффективно использующих память и т. д.
Примечание: этот проект был прекращен.
Turbo C 2.01
Старый, но проверенный Turbo C 2.01 для DOS доступен бесплатно по решению новых владельцев Borland . Это был популярный компилятор C во времена MSDOS , известный своей быстрой сборкой, интегрированной средой разработки (« IDE ») и графической библиотекой ( DOS ).