Информация о GNU Compiler Collection - Поиск

Информация о GNU Compiler Collection - Поиск


Результат поиска для GNU_Compiler_Collection
Вы можете получить подробную информацию обо всем, что вы ищете

Вы можете воспользоваться различными полезными ссылками, связанными со словом GNU Compiler Collection


Найти и скачать песни, соответствующие слову GNU Compiler Collection


Для слова GNU Compiler Collection см. полезные ссылки


Просмотреть и загрузить изображения, соответствующие слову GNU Compiler Collection


Ищите и читайте статьи, которые соответствуют слову GNU Compiler Collection


Читать статью о слове GNU Compiler Collection в Википедии


GNU Compiler Collection Ищите и читайте новости


Смотреть и скачать фильмы, которые соответствуют слову GNU Compiler Collection


Смотрите и скачивайте дорамы, соответствующие слову GNU Compiler Collection



Мы стараемся помочь вам найти все, что соответствует слову GNU Compiler Collection. Если вы не можете найти здесь то, что ищете, перейдите на главную страницу. Наш сайт обновляется каждый день, каждый день появляются новые песни, видео, картинки, фильмы, сериалы, интересные новости и т.д. добавлен. Самое главное, вы можете скачать самую безопасную программу Whatsapp Plus с нашего сайта. Если мы не нашли ничего, соответствующего вашему запросу GNU Compiler Collection, мы скоро опубликуем это для вас.
Спасибо, что выбрали нас!

Кроме того, вы можете воспользоваться полезными ссылками, которыми поделились

GNU Compiler Collection

GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется в том числе фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.

GNU Compiler Collection
Логотип программы GNU Compiler Collection
Скриншот программы GNU Compiler Collection
Тип компилятор и пакет GNU[d]
Разработчик Проект GNU
Написана на C++ и Си
Операционные системы GNU/Linux[3] и BSD[d][4]
Первый выпуск 23 мая 1987[1]
Аппаратная платформа кроссплатформенность
Последняя версия
Репозиторий gcc.gnu.org/git/gcc.git
Лицензия GNU GPL 3
Сайт gcc.gnu.org (англ.)
Логотип Викисклада Медиафайлы на Викискладе

Изначально названный GNU C Compiler, поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как C++, Objective-C, Java, Фортран, Ada, Go, GAS и D.

С версии 4.2.2 GCC перешёл на лицензию GPLv3.

Обзор править

Начало GCC было положено Ричардом Столлманом, который реализовал первый вариант GCC в 1985 году на нестандартном и непереносимом диалекте языка Паскаль; позднее компилятор был переписан на языке Си Леонардом Тауэром и Ричардом Столлманом[5] и выпущен в 1987 году[6] как компилятор для проекта GNU, который сам по себе являлся свободным программным обеспечением. Разработка GCC курируется Free Software Foundation[7].

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

Будучи официальным компилятором системы GNU, GCC также является главным компилятором для сборки ряда других операционных систем; среди них — различные варианты Linux и BSD (ранее, в настоящее время используется Clang LLVM), а также ReactOS, macOS, OpenSolaris, NeXTSTEP, BeOS и Haiku.

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

Языки править

Cтандартный компилятор включает в себя front-end’ы для языков:

  • Ada (GCC для Ada, или GNAT),
  • Си,
  • C++ (GCC для C++, или G++),
  • Фортран (GCC для Fortran, или gfortran),
  • Java (GCC для Java, или GCJ, исключена из состава GCC начиная с версии 7[8]),
  • Objective-C (GCC для Objective-C, или gobjc),
  • Objective-C++ (GCC для Objective-C++, или gobjc++),
  • Go (GCC для Go, или gccgo) (с версии 4.6[9]).
  • D (GCC для D, или GDC[10], начиная с версии 9.1[11])
  • Модула-2 (GCC для Модула-2, или gm2[12], начиная с версии 13.1)

Front-end для CHILL был добавлен ранее, но из-за недостаточной поддержки был исключён из набора. До выхода версии 4.0 front-end’ом для Fortran был G77, который поддерживал лишь FORTRAN 77. В новых версиях G77 был исключён в пользу нового GFortran front-end, который поддерживает Fortran 95.

Также существуют сторонние front-end’ы для Pascal, Modula-2, Modula-3, Mercury, VHDL и PL/I.

Архитектуры править

Список поддерживаемых GCC (для версии 7.1) процессоров включает в себя

Менее известные процессоры, поддерживаемые в стандартном релизе:

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

Структура править

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

Компилятор каждого языка является отдельной программой, которая получает исходный текст и порождает вывод на языке ассемблера. Все компиляторы имеют общую внутреннюю структуру: front-end, который производит синтаксический разбор и порождает абстрактное синтаксическое дерево, и back end, который конвертирует дерево в Register Transfer Language[англ.] (RTL), выполняет различные оптимизации, затем порождает программу на языке ассемблера, используя архитектурно-зависимое сопоставление с образцом.

До версии 4.7.2 GCC был почти полностью написан на Си, хотя значительная часть front-end’а для Ады написана на Аде. С 14 августа 2012 года разработка была переведена на язык C++[14], версия 4.8[15] и более поздние требуют для своей сборки наличия компилятора C++, поддерживающего C++ 2003.

Отладка программ, скомпилированных с помощью GCC править

Главным инструментом для отладки программ, скомпилированных с помощью GCC, является GNU Debugger (gdb). Существуют также узкоспециализированные средства для отладки:

  • Valgrind для поиска утечек памяти
  • GNU Profiler (gprof[англ.]) используется для того, чтобы определить, сколько времени уходит на выполнение той или иной части программы, как часто вызываются те или иные процедуры; для использования gprof необходимо компилировать программу со специальными опциями для включения «профилирования».
  • gcov для анализа покрытия кода.

Лицензия править

GCC версии 4.2.1 стал последним релизом, выпущенным под GNU General Public License версии 2. Все последующие версии лицензируются по GPL версии 3[16].

Критика править

Некоторые разработчики OpenBSD, например Тео де Раадт и Отто Мурбек (Otto Moerbeek), критикуют GCC, называя его «громоздким, глючным, медленным и генерирующим плохой код»[17]. По причине такого критического отношения, а также из-за довольно ограничивающей (по сравнению с BSD) лицензии GPL, под которой выпущена коллекция компиляторов, была предпринята попытка заменить в NetBSD и OpenBSD GCC другими компиляторами, например, PCC[18]. Аналогичная работа по замене GCC на Clang ведётся во FreeBSD[19].

См. также править

Примечания править

  1. https://www.gnu.org/software/gcc/releases.html
  2. Biener R. GCC 14.1 Released — 2024.
  3. Installing GCC - GNU Project - Free Software Foundation (FSF)
  4. Installing GCC - GNU Project - Free Software Foundation (FSF)
  5. Stallman, Richard M. GNU Status (неопр.) // GNU's Bulletin. — Free Software Foundation, 1986. — February (т. 1, № 1). Архивировано 21 августа 2007 года.
  6. Tower, Leonard (1987) «GNU C compiler beta test release, Архивная копия от 5 ноября 2011 на Wayback Machine» comp.lang.misc USENET newsgroup; see also http://gcc.gnu.org/releases.html#timeline Архивная копия от 28 декабря 2006 на Wayback Machine
  7. Stallman, Richard M. (2001) «Contributors to GCC, Архивная копия от 3 января 2007 на Wayback Machine» in Using and Porting the GNU Compiler Collection (GCC) Архивная копия от 27 декабря 2006 на Wayback Machine for gcc version 2.95 (Cambridge, Mass.: Free Software Foundation)
  8. GCC 7 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF). gcc.gnu.org. Дата обращения: 31 августа 2019. Архивировано 2 сентября 2020 года.
  9. GCC 4.6 Release Series — Changes, New Features, and Fixes — GNU Project — Free Software Foundation (FSF). Дата обращения: 23 января 2011. Архивировано 4 ноября 2015 года.
  10. GDC - D Programming Language for GCC. gdcproject.org. Дата обращения: 31 августа 2019. Архивировано 6 августа 2019 года.
  11. GCC 9 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF). gcc.gnu.org. Дата обращения: 31 августа 2019. Архивировано 19 февраля 2022 года.
  12. https://www.theregister.com/2022/12/16/gcc_13_will_support_modula2/
  13. http://gcc.gnu.org/ Архивная копия от 11 января 2012 на Wayback Machine "TI C6X processor support [2011-07-15] A port for the TI C6X family of processors "
  14. C++ Conversion. This project is a continuation of the build GCC in C++ project. Архивная копия от 14 октября 2012 на Wayback Machine / GCC wiki, 2012 (англ.)
  15. GCC 4.8 Release Series Архивная копия от 8 декабря 2015 на Wayback Machine: "GCC now uses C++ as its implementation language. This means that to build GCC from sources, you will need a C++ compiler that understands C++ 2003. "
  16. Tools: GCC 4.2.1 Released — KernelTrap (англ.). kerneltrap.org (21 июля 2007). Дата обращения: 25 декабря 2009. Архивировано 17 февраля 2012 года.
  17. More on OpenBSD’s new compiler — Mambo Архивировано 29 сентября 2008 года.
  18. Towards a BSD-licensed Compiler. Дата обращения: 3 ноября 2008. Архивировано из оригинала 24 октября 2008 года.
  19. FreeBSD Status Reports January — March, 2009. Дата обращения: 19 апреля 2010. Архивировано 17 апреля 2010 года.

Литература править

  • Артур Гриффитс. GCC. Настольная книга пользователей, программистов и системных администраторов. — Диасофт, 2004. — С. 624. — ISBN 966-7992-34-9.

Ссылки править


На сайте 145 человек
Top.Mail.Ru
©Tatli.Biz 2010-2024