|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1174994acb470.html, оценка из 5, голосов 10
|