Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 11 reacties
Bron: GCC

bkor was de eerste die ons het nieuws stuurde dat GCC 3.0 uit is. Deze zeer populaire opensource compiler voor onder andere C heeft een hele berg nieuwe features gekregen, die je hier kunt bekijken. Niet alleen zullen programma's een stuk beter geoptimaliseerd worden, maar is het voortaan ook mogelijk met Java te werken en om executables te maken voor verschillende nieuwe processors zoals Itanium. Verder zijn er natuurlijk een hoop bugs gefixed. De source code is hier (mirrors) te vinden en voor binaries kun je hier terecht:

GCC 3.0 New Features
  • General Optimizer Improvements:
  • New Languages and Language specific improvements:
    • The GNU Compiler for the Java(TM) language (GCJ) is now integrated and supported, including the run-time library containing most common non-GUI Java classes, a bytecode interpreter, and the Boehm conservative garbage collector. Many bugs have been fixed. GCJ can compile Java source or Java bytecodes to either native code or Java class files, and supports native methods written in either the standard JNI or the more efficient and convenient CNI.
    • New C++ ABI. On the IA-64 platform GCC is capable of inter-operating with other IA-64 compilers.
    • The new ABI also significantly reduces the size of symbol and debug information.
    • New C++ support library and many C++ bug fixes, vastly improving our conformance to the ISO C++ standard.
    • New inliner for C++.
    • Rewritten C preprocessor, integrated into the C, C++ and Objective C compilers, with very many improvements including ISO C99 support and improvements to dependency generation.
    • Support for more ISO C99 features.
    • Many improvements to support for checking calls to format functions such as printf and scanf, including support for ISO C99 format features, extensions from the Single Unix Specification and GNU libc 2.2, checking of strfmon formats and features to assist in auditing for format string security bugs.
    • New warnings for C code that may have undefined semantics because of violations of sequence point rules in the C standard (such as a = a++;, a[n] = b[n++]; and a[i++] = i;), included in -Wall.
    • Additional warning option -Wfloat-equal.
    • Improvements to -Wtraditional.
    • Fortran improvements are listed in the Fortran documentation.
  • New Targets and Target Specific Improvements:
    • New x86 back-end, generating much improved code.
    • Support for a generic i386-elf target contributed.
    • New option to emit x86 assembly code using Intel style syntax (-mintel-syntax).
    • HPUX 11 support contributed.
    • Improved PowerPC code generation, including scheduled prologue and epilogue.
    • Port of gcc to Intel's IA-64 processor contributed.
    • Port of gcc to Motorola's MCore 210 and 340 contributed.
    • New unified back-end for Arm, Thumb and StrongArm contributed.
    • Port of gcc to Intel's XScale processor contributed.
    • Port of gcc to Atmel's AVR microcontrollers contributed.
    • Port of gcc to Mitsubishi's D30V processor contributed.
    • Port of gcc to Matsushita's AM33 processor (a member of the MN10300 processor family) contributed.
    • Port of gcc to Fujitsu's FR30 processor contributed.
    • Port of gcc to Motorola's 68HC11 and 68HC12 processors contributed.
    • Port of gcc to Sun's picoJava processor core contributed.
  • Documentation improvements:
    • Substantially rewritten and improved C preprocessor manual.
    • Many improvements to other documentation.
    • Manpages for gcc, cpp and gcov are now generated automatically from the master Texinfo manual, eliminating the problem of manpages being out of date. (The generated manpages are only extracts from the full manual, which is provided in Texinfo form, from which info, HTML, other formats and a printed manual can be generated.)
    • Generated info files are included in the release tarballs alongside their Texinfo sources, avoiding problems on some platforms with building makeinfo as part of the GCC distribution.
  • Other significant improvements:
    • Garbage collection used internally by the compiler for most memory allocation instead of obstacks.
    • Lengauer and Tarjan algorithm used for computing dominators in the CFG. This algorithm can be significantly faster and more space efficient than our older algorithm.
    • gccbug script provided to assist in submitting bug reports to the GCC GNATS bug tracking database. (Bug reports previously submitted directly to the GCC mailing lists, for which no GNATS bug tracking number has been received, should be submitted again to the bug tracking database using gccbug if you can reproduce the problem with GCC 3.0.)
    • The internal libgcc library is built as a shared library on systems that support it.
    • Extensive testsuite included with GCC, with many new tests. In addition to tests for GCC bugs that have been fixed, many tests have been added for language features, compiler warnings and builtin functions.
    • Additional language-independent warning options -Wpacked, -Wpadded, -Wunreachable-code and -Wdisabled-optimization.
    • Target-independent options -falign-functions, -falign-loops and -falign-jumps.
  • Plus a great many bugfixes and almost all the features found in GCC 2.95.

Lees meer over

Versienummer:3.0
Besturingssystemen:Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP
Website:GCC
Download:http://gcc.gnu.org/install/binaries.html
Moderatie-faq Wijzig weergave

Reacties (11)

Hou er wel rekening mee dat veel software nog niet wil compilen met GCC 3 en je er dus vrij weinig aan hebt als je geen serieuze developer bent.

Als je geen developer bent kun je beter wachten tot deze compiler bij je distro geleverd wordt, voorkomt een hoop ellende :)

<font color=#786562>* [Felix] denkt dat RedHat de eerste distro is met de GCC 3.0 compiler :D</font><div class=r>[Reaktie gewijzigd door [Felix]]</div><!-- end -->
Dat veel software niet goed compileert met deze GCC versie is vooral aan de programmeur te wijten. Het gaat hier vooral om programma's die gebruik maken van code die niet voldoet aan de verschillende standaarden. Dat deze voorheen wel geaccepteerd werden wil nog niet zeggen dat ze goed waren/zijn. Het probleem blijft hetzelfde, je eindigt met een niet werkend programma, maar in de praktijk zal dit denk ik toch nog reuze meevallen.
Denk dat je niet helemaal correct bent hier. Met standaard C progsels zul je niet zo veel trouble hebben.

C++ is ander verhaal omdat de nieuwe beestjes veel stricter zijn en oude (veelal incorrecte) input uitspugen als de bagger die het is :)

Als je op zoek bent naar een vrij sterk ISO C++ compliant compiler kom je denk ik met gcc 3 een heel eind verder dan met de (huidige) competitie.

De nieuwe C++ support lib is echt iets om naar uit te kijken. Veel features die je tegenkomt b.v. in boeken van Stroustrup en de iostream bijbel van Langer en Kreft zullen met dit beestje werken.

Ten aanzien van bugs.. ach. iedere compiler heeft bugs. Ze zitten alleen op een andere plek :) FWIW de diverse snapshots/cvs versies die voorliepen op gcc 3 waren al veel beter bruikbaar dan 2.95.2 en de diverse egcs releases (even de RH7 versie buiten beschouwing gelaten).
En ongetwijfeld de meeste brakke versie die ze maar kunnen vinden }> Jemig, wat een ellende met RH7 toen het net uit was zeg. Vooruitstrevendheid kan desastreus zijn ;)
RH 7 had een snapshot van GCC uit de cvs gehaald en deze 2.96 genoemd.
Dat was mischien een beetje TE vooruitstrevend.
RedHat had verschillende snapshots uit CVS gehaald, van o.a. de 2.9x serie en de toekomste 3.0 versies. Deze hebben ze toen aangepast (veel bugfixes, nieuwe features), waardoor het development proces van GCC 3.0 een grote boost heeft gekregen. Dit heeft er natuurlijk ook mee te maken dat al een groot deel van GCC 3.0 werd gebruikt in het public domain (RH blijft de populairste Linux distro van het moment) waardoor ook genoeg bugs werden gevonden die dan weer konden worden gefixt. M.a.w. RedHat heeft niet zomaar een snapshot gepakt en er een naampje aangegeven. Overigens hadden ze wel beter voor een ieder ander versie nummer kunnen kiezen want het werkt(e) wel verwarrend...
Dit vind ik wel mooi nieuws, zeker omdat het eindeloos geduurt heeft voordat ze bij 3.00 waren, ik ben benieuwd of de optimalistities al merkbaar zijn en of programma's als Mozilla en de Linux kernel (al) (beter) compilen met deze gcc.
Een aantal 'standaard' software paketten maakt deel uit van de test suite, waaronder de linux kernel. Het(correct) compileren van de Linux kernel is daardoor een van de eisen waaraan een release moet voldoen voordat hij wordt uitgebracht.

Wel hebben oudere linux kernels een probleem, namelijk dat er foutieve assembly code instaat. De 'oude' gcc accepteerde het gewoon, de nieuwe niet meer.
Heeft iemand misschien een mirror link voor me?

Op een of andere manier kan ik die site niet bereiken...zeker druk daar.
De meeste spullen kan je altijd vinden op de ftp site van de nederlandse unix users groep:
ftp.nluug.nl

De complete gcc file is: /pub/gnu/gcc/gcc-3.0.tar.gz

Als je em compileert, maak dan eerst een directory aan op een niveau lager dan de source directory en doe dan '../configure' (zie ook de install notes). Als ie klaar is dan 'make install' gevolgd door 'ldconfig' en dan kan je em als '/usr/local/bin/gcc' aanspreken :9
Ik gebruik de laatste snapshots voor deze release al een poos en de nieuwe compiler bevalt prima. Vooral de nieuwe C++ ABI, inliner en standaard library is een hele grote verbetering :9

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True