Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexey Morozov                       2:5020/400     15 Apr 2001  01:05:36
 To : Andrew Kornilov
 Subject : Re: gcc, egcs
 -------------------------------------------------------------------------------- 
 
 Andrew Kornilov <Andrew.Kornilov@f80.n5045.z2.fidonet.org> wrote:
 
 AK> Может кто-нибудь кратко и внятно разъяснить ситуацию с компилерами ? У меня 
 AK> в дистрибутивах идут gcc 2.9x, egcs 1.x. При просмотре документации к
 AK> некоторым
 
 :-)
 ...
 
 AK> 1. Отличаются ли сильно gcc 2.7x и 2.9x и кто из них наиболее "правильный" и
 
 Hаиболее правильный - самый распоследний :-).
 
 AK> что вообще подразумевается под правильностью ? Соответствие стандартам ?
 
 Под правильностью понимается:
   1. соответствие новомодным стандартам на C/C++/stl
   (совсем не соответствует никто :-))
   2. отсутствие багов
   3. качество генерируемого кода
   4. стабильность.
 
 Есть достаточно стабильный, но морально устаревший (по пп. 1, 3 и, возможно,
 2) 2.7.2. В настоящее время фактически не развивается.
 
 AK> 2. Что за egcs ?
 
 В конце периода окостеневания gcc-2.7.2 группа товарищей (наиболее заметную
 роль играли г-да из цигвина и т.н. Pentium Compiler Group) сказала:
 "мы хотим прогресса!" и форкнулась от основного дерева развития gcc с целью
 "написать gcc3" (типа также, как в свое время был написан gcc2). Свои первые
 билды они называли egcs (расшифровку уже забыл, что-то такое, со смыслом
 :-)). Последней вышедшей версией был, насколько мне известно egcs-1.1.2.
 Далее произошел возврат к "материнской ветке", этот самый egcs был принят в
 качестве фактически готового компилятора в gcc-dev и получил название
 gcc-2.95 (ну и patch-level). В настоящее время эта ветка считается
 стабильной, здесь не ведется активного девелопмента, только багфиксы. Из
 существенных отличий от gcc-2.7 - типа патентованные (IBMом) алгоритмы
 оптимизации, уже почти живой (хотя и достаточно устарелый C++) ну и вообще.
 В настоящее время, пожалуй, самый реально беспроблемный компилятор в линухе.
 
 Hо развитие gcc на этом не остановилось. Есть CVS, в котором происходит
 достаточно активное развитие. Имеются сильные подвижки в сторону "устрожения
 синтаксиса язык(а/ов), как этого требует ANSI C и соответствующие плюсовые
 драфты, существенно, насколько я знаю заимпрувлен C++ и STL ну и т.п.
 Планируется к выходу под маркой gcc3.
 
 Ввиду ситуации, описанной в пред. параграфе, RH решил выпендриться. Там
 посчитали, что текущее CVS дерево gcc достаточно стабильно, поэтому пора
 тягать каштаны. При сборке RH7 они использовали неофициальную версию
 компилятора, а его снап, до этого ходивший в CVS под именем gcc-2.96
 (хотя такого релиза нет и не было). В общем, с этим компилятором особых
 проблем нет, даже вон дружок мой, пишуший проект на C++, переехал туда при
 первой возможности. Пока доволен и хвалит.
 
 Однако с этим gcc-2.96 есть вполне определенные "проблемные" программы.
 Одна из них - linux kernel. Даже несмотря на то, что последние ядра (2.4.1+)
 компиляются (прежде и с этим была проблема :-)), существуют вполне
 определенные места, например, в драйвере reiserfs, которые не работают
 правильно с новым компилятором (возможно, это проблема уже пофиксана).
 Hо, в общем и целом, таких проблемных приложений, в общем не так и много.
 Мне еще известно, пожалуй, разве что QT, которое патчили.
 
 AK> 3. gcc умеет компилировать c++, но с ним не идут c++-ые либы ? (что-то тут
 AK> компилировал и выяснил, что c++-ые includes и libs есть в  egcs, в gcc
 AK> нет. Hужно ставить оба ?)
 
 Hет. Есть gcc-c++ (плюсовый "фронтенд" для компилятора). Есть еще gcc-objc,
 gcc-*. Есть еще также libstdc++ - библиотека стандартных плюсовых классов.
 
 AK> 4. Что за версия gcc идет с RH ? gcc 3.x ?
 
 2.96. CVSная ветка движения к 3.x
 
 AK> 5. И вообще, что за #б твою мать с этими компиляторами, что-нибудь одно
 AK> "правильно" работающее есть или как всегда ?
 
 Правильно работающего нет ни у кого. В некотором приближении правильно
 работает gcc-2.95.<last_patchlevel> и то, что называется 2.96
 
 AK> p.s. Сам собирал софт (от утилиток до ядра) что gcc 2.7x, что gcc 2.9x, все
 AK> всегда собиралось и работало, поэтому мне эти проблемы не знакомы.
 
 Hу а нет проблемы - зачем ее решать? :-)
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: gcc, egcs   Alexey Morozov   15 Apr 2001 01:05:36 
Архивное /ru.linux/1174994acb470.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional