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 , , 10 reacties
Bron: GNU, submitter: Pjotr

Goed nieuws uit de richting van het GNU Project, met betrekking tot de welbekende GNU Compiler Collection (GCC). Deze software heeft namelijk versie 3.4.0 mogen verwelkomen, welke een aantal belangrijke veranderingen bevat. De lijst is te groot om op te noemen, vandaar dat we er gewoon naar linken. Wat opvalt is dat er een hoop veranderingen zijn aangebracht in het C++-gedeelte van de collectie, die vooral ten doel lijken te hebben om de ISO/ANSI-standaard op dit gebied beter te volgen:

G++ is now much closer to full conformance to the ISO/ANSI C++ standard. This means, among other things, that a lot of invalid constructs which used to be accepted in previous versions will now be rejected. It is very likely that existing C++ code will need to be fixed. This document lists some of the most common issues.[break]Dit zal programmeurs uiteraard met behoorlijk wat extra werk opzadelen, maar het is tenslotte voor ons eigen bestwil. Gelukkig zijn de veranderingen geillustreerd met codevoorbeelden waar nodig, zodat niemand moeite zou moeten hebben met bepalen wat er precies veranderd moet worden. Ook de Java, ADA en Fortran-compilers hebben een aantal veranderingen ondergaan. Bovendien zijn er nog een hoop platform-specifieke zaken verbeterd. De hele nieuwe collectie compilers is hier te downloaden.
Moderatie-faq Wijzig weergave

Reacties (10)

ik dacht dat dat gentoo was :+

en nu weer ontopic, is het veilig om deze gewoon te compilen?
of moet je direct al je software recompilen omdat het anders niet goed gaat samenwerken?
Nee, dat hoeft niet. 'T zijn immers binaries, nietwaar...
Wel moet je alles in je /usr/src even nalopen indien je dat opnieuw wilt compileren.
gentoo zijn zeer zeker geen binaries. je compiled de source met alle flags die je zelf wil.
met Gentoo is het zo dat je alles zelf compiled, daarom ben ik bang dat als ik iets wil gaan recompilen met de nieuwe gcc dat het niet meer goed gaat samenwerken met de geinstalleerde software omdat het anders is.
Je leest niet goed:
De vraag was of hij alle software opnieuw moest compilen. Dat hoeft dus niet, want eenmaal gecompileerd is het toch écht binary.
Op x86-platforms blijft de zogeheten ABI (Application Binary Interface) voor compileerde C-code hetzelfde. De ABI voor C++ is echter wederom gewijzigd in deze release (zij het wel verbeterd en meer compatible gemaakt met de algemene standaard die ook door andere compilers, zoals de Intel-compiler, wordt gehanteerd).

De bedoeling is dat de C++ ABI nu definitief stabiel en forward-compatible zal blijven, maar dat was de vorige keer ook al het streven. ;) Wel is het nu nog waarschijnlijker geworden dat C++ compatibiliteit in de toekomst gewaarborgd zal blijven. :)

Maar wat betekent dit nu in de praktijk: in C geschreven software hoef je niet (meteen) te recompilen, in C++ geschreven software wel.

Gelukkig zijn de meest cruciale onderdelen voor een werkend Linux-systeem (de kernel, glibc, init, bash, de X-server en Gtk+) in C geschreven.

In C++ geschreven libraries, zoals ncurses en Qt, zul je wel moeten recompilen, zodra je gebruik wil maken van GCC 3.4 en hoger.

Oh, en deze compiler-versie is nog niet beschikbaar in Gentoo (ook niet gemasked), omdat de zogeheten "propolice"-patches ervoor nog niet beschikbaar zijn. Even geduld dus, nog. :) (En nog meer geduld als die er dan eindelijk is, want dan zal er heel wat opnieuw gecompileerd moeten worden. :D )
Nee, alles werkt ook als je maar sommige programmas met de niewe compileerd, behalve kernel en kernel-modules: deze twee delen moeten altijd met de zelfde compiler klaargemaakt.
Jammer dat er op dit moment een kernel bug is dat het maken van modules met de niewe GCC niet helemaal goed gaat.
Gebruik dus NIET gcc 3.4 met kernel 2.6.5 en oudere.. ik weet niet of het met de volgende beter zult gaan.
bug, bug ... vast een niet ANSI compliant stukje programmeer werk =)-
Zou GCC 3.4.0 Mac OS X 10.4 nog halen?

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