day & night

GCC 4.5.2, набор компиляторов GNU
Дата обновления: , перейти к новому сообщению
#1
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif GCC 4.4.0

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

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

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

Начало GCC было положено Ричардом Столлманом, который реализовал первый вариант GCC в 1985 на нестандартном и непереносимом диалекте языка Паскаль; позднее компилятор был переписан на языке Си Леонардом Тауэром (англ. Leonard H. Tower Jr.) и Ричардом Столлманом, и выпущен в 1987 как компилятор для проекта GNU, который сам по себе являлся свободным программным обеспечением. Разработка GCC курируется Free Software Foundation.

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

Будучи официальным компилятором системы GNU, включая варианты системы, построенные на ядре Linux (GNU/Linux), GCC также является главным компилятором для сборки ряда других операционных систем, среди них: различные варианты BSD, ReactOS, Mac OS X, NeXTSTEP и BeOS.

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

В версии 4.1.1 (выпущенной 24 мая 2006), стандартный компилятор включал в себя front-end’ы для:
  • Ada (GCC для Ada aka GNAT)
  • Си
  • C++ (C++ для GCC aka G++)
  • Fortran (GCC для Fortran aka gfortran)
  • Java (GCC для Java aka GCJ)
  • Objective-C
Front end для CHILL был добавлен ранее, но из-за недостаточной поддержки был исключён из набора. До релиза версии 4.0 front-end’ом для Fortran был G77, который поддерживал лишь FORTRAN 77. В новых версиях G77 был исключён в пользу нового GFortran frontend который поддерживает Fortran 95.

Так же существуют front-end’ы для Pascal, D, Modula-2, Modula-3, Mercury, VHDL и PL/I.
Материал из Википедии — свободной энциклопедии

В релизе GCC 4.4.0 измененная лицензионное соглашение на runtime - "GCC RUNTIME LIBRARY EXCEPTION", убирающее некоторые ограничения лицензии GPLv3 для Runtime компонент набора компиляторов, что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться (например, в качестве runtime теперь можно использовать код для обеспечения работы виртуальных машин, обрабатывающих байткод, в том числе Java).

Основные изменения по сравнению с веткой GCC 4.3.x:
  • Добавлен оптимизатор Graphite, основанный на полиэдральном промежуточном представлении - технологии оптимизации для обеспечения параллельного выполнения циклических операций.
  • Оптимизация касается всех языков, поддерживаемых GCC. Разработка позволяет значительно увеличить производительность обычных приложений на многоядерных процессорах, созданных без использования специальных библиотек распараллеливания, например, Threading Building Blocks.
  • Добавлены новый аллокатор регистров (IRA - integrated register allocator) и новый планировщик расстановки инструкций.
  • Новые опции оптимизации: "-findirect-inlining", "-ftree-switch-conversion", "-ftree-builtin-call-dce" и "-fconserve-stack";
  • Новые опции предупреждения о потенциальных ошибках в коде: "-Wparentheses", "-Wsequence-points", "-Wconversion", "-Wuninitialized" и т.д.
  • Реализована поддержка версии 3 спецификации OpenMP (API для параллельных вычислений);
  • Улучшена поддержка грядущего С++ стандарта C++0x, например, в libstdc++ добавлены заголовочные файлы chrono, condition_variable, cstdatomic, forward_list, initializer_list, mutex, ratio, system_error и thread;
  • Произошли множественные изменения в поддержке языков C/C++/Fortran;
  • Улучшена поддержка уже поддерживаемых архитектур: добавлены средства оптимизации для CPU ARM Cortex-A9, Cortex-R4 и Cortex-R4F, PowerPC e300c2, e300c3, e500mc, IBM System z10 EC/BC; добавлена поддержка встроенных функций Intel AES, Intel PCLMUL, Intel AVX; улучшена поддержка архитектур MIPS, AVR, IA-32/x86-64, IA-32/IA64, PowerPC и т.д.
  • GCC стал считать ошибками некоторые программисткие "решения", который компилировались ранее. Например, теперь не работает "#elif" без аргумента; "cstdio" больше не подразумевает включение "string.h", "ios.h", "iomanip.h", "streambuf.h" и "locale.h", а "stdint.h" не включает "string.h" и "ios.h". ; строковые функции больше не принимают "char*" вместо "const char*"; ужесточены требования к инициализации C++ классов.

Home_http://gcc.gnu.org/
Downloads (~61 Mb)_ftp://ftp.gnu.org/gn...-4.4.0.tar.bz2
User is offline
Go topGo end
 

Ответов(1 - 8)
28.07.2009 - 15:55
#2
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif gcc 4.4.1

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

Downloads (~60 Mb)_ftp://gcc.gnu.org/pu...-4.4.1.tar.bz2
User is offline
Go topGo end
15.10.2009 - 20:46
#3
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif gcc 4.4.2



Downloads (~60,1 Mb)_ftp://gcc.gnu.org/pu...-4.4.2.tar.bz2
User is offline
Go topGo end
21.01.2010 - 20:07
#4
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




User is offline
Go topGo end
15.04.2010 - 19:40
#5
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif GCC 4.5.0

GCC 4.5.0 в котором представлен новый оптимизатор на этапе компоновки, реализована экспериментальная поддержка некоторых возможностей стандарта C++0x, продолжена интеграция наработок проекта Graphite с реализацией поддержки автоматического распараллеливания операций.

Основные изменения:
  • Общие нюансы:
    • Для сборки GCC теперь требуется математическая библиотека MPC (multiprecision library) для более точных вычислений на этапе компиляции;
    • Часть старых архитектур была объявлена устаревшей и будет полностью исключена в версии 4.6.0: IRIX до версии 6.5, Solaris 7, Tru64 Unix до версии 5.1, более подробно читайте об этом с списке рассылки;
    • Убрана поддержка систем, объявленных устаревшими в версии GCC 4.4.0;
    • Из релиза исключены утилиты protoize и unprotoize;
    • Улучшились возможности по генерации отладочного кода, в связи с чем требуется GDB версии не ниже 7.0;
    • Для x86 архитектур код с плавающей точкой, генерируемый согласно ужесточенным требованиям стандарта C99, будет работать гораздо медленней, чем в старых версиях GCC. Для решения этой проблемы используйте ключ компиляции -fexcess-precision=fast;
    • Атрибут функции noinline более не гарантирует то, что GCC не создаст клон функции - для предотвращения создания клона появился новый атрибут noclone. Клонирование функции обозначает, что создаётся дубликат функции при некоторых обстоятельствах, например, когда известно значение одного из атрибутов функции;
  • Новые возможности оптимизации:
    • Флаг компиляции -save-temps теперь может использовать дополнительный аргумент. Так, при использовании опций -save-temps и -save-temps=cwd GCC будет писать временные в текущую рабочую директорию, основываясь на расположении исходников. При -save-temps=obj временные файлы будут сохраняться в туже директорию, куда были сохранены объектные файлы (-o). Это позволит компилировать одно и тоже дерево исходников в разные директории.
    • Файлы с отладочной информацией теперь будут сохраняться туда же, куда были сохранены объектные файлы;
    • Для компиляции сложных арифметических выражений теперь используется библиотека MPC, что позволило более точно высчитывать их результат;
    • Появилась новая опция межфайловой оптимизации при линковке файлов -flto. Эта опция заставляет компилятор добавлять в каждый объектный файл некоторую секцию .ELF, и когда затем происходит линковка файла GCC, заметив эту секцию выполняет оптимизацию всех объектных файлов как-будто если бы это был един файл исходников;
    • Подсистема Graphite теперь позволяет включать автоматическую параллезацию с помощью опции -floop-parallelize-all;
    • Переписана инфраструктура оптимизации на основе restrict qualified pointers, что привело к генерации более производительного кода. Также была включена оптимизация кода для этой возможности при использовании флага компиляции -fno-strict-aliasing;
    • Улучшен код функций, генерируемый для уровней -O2 и -Os: если встречаются прототипы функции, параметры которых затем нигде не используются то тогда эти параметры не передаются, а аргументы передаваемые по указателю передаются по значению.
    • GCC теперь оптимизирует код исключений.
Среди прочих изменений нужно отметить улучшенную поддержку стандарта C++0x, улучшенные возможности выдачи сообщений об ошибках на этапе компиляции, улучшение компиляции кода C++, использующего темплейты и многое другое.

Downloads (~64 Mb)_ftp://gcc.gnu.org/pu...-4.5.0.tar.bz2
User is offline
Go topGo end
1.05.2010 - 9:08
#6
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif GCC 4.4.4

Проведена работа по исправлению ошибок, регрессивных изменений и проблем с совместимостью. С момента выхода версии 4.4.3 отмечено 72 исправления.

Downloads (~61,5 Mb)_ftp://gcc.gnu.org/pu...-4.4.4.tar.bz2
User is offline
Go topGo end
1.08.2010 - 12:53
#7
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif GCC 4.5.1

Проведена работа по исправлению ошибок, регрессивных изменений и проблем с совместимостью. С момента выхода версии 4.5.0 отмечено 132 исправления.

Downloads (~64,5 Mb)_ftp://gcc.gnu.org/pu...-4.5.1.tar.bz2
User is offline
Go topGo end
4.10.2010 - 17:39
#8
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif GCC 4.4.5

проведена работа по исправлению ошибок, регрессивных изменений и проблем с совместимостью. С момента выхода версии 4.4.4 отмечено 35 исправлений, большинство из которых связанно с устранением внесенных ранее регрессивных изменений. Отдельно можно отметить исправление ошибки, приводящей к проблемам при работе новых Linux-ядер, собранных в GCC 4.4.x (ошибка также исправлена в ветках 4.5.x и 4.3.x).

Downloads (~61,6 Mb)_ftp://gcc.gnu.org/pu...-4.4.5.tar.bz2
User is offline
Go topGo end
18.12.2010 - 16:26
#9
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif GCC 4.5.2

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

Downloads (~64,7 Mb)_ftp://gcc.gnu.org/pu...-4.5.2.tar.bz2
User is offline
Go topGo end

Topic Options
Сейчас: 29.03.2024 - 11:39
Мобильная версия | Lite версия