Entwicklungsumgebungen: GCC 4.8.0 wechselt zu C++
Wer GCC 4.8.0 selbst kompilieren will, braucht künftig einen C++-Compiler, der C++ 2003 beherrscht. Als Grund nennen die Entwickler unter anderem, dass das C++-Subset C ebenso effizient sei, wie C selbst. Außerdem soll der Umstieg auf C++ die Entwicklung von Schnittstellen und die Codepflege erleichtern. Immerhin, so die Entwickler, sei C++ eine standardisierte, bekannte und populäre Programmiersprache.
Von Google kommt der Adress-Sanitizer(öffnet im neuen Fenster), mit dem sich schnell Speicherfehler aufspüren lassen sollen, etwa Heap-, Stack- oder globale Bufferoverflows und Use-after-free-Bugs. Er funktioniert unter GNU/Linux auf Intel-basierten 32- und 64-Bit-Systemen, PowerPCs, ebenfalls in der 32- und 64-Bit-Varainte, und auf 32-Bit- und 64-Bit-Darwin-Systemen. Ebenfalls von Google stammt der neue Thread-Sanitizer(öffnet im neuen Fenster) für x86-64-Systeme mit Linux, der Wettlaufsituation verhindern soll.
Besseres Debuggen
Statt der Optimierungsstufe(öffnet im neuen Fenster) -O0 können Entwickler künftig in der Testphase die neue Optimierungsstufe -Og wählen, mit der eine bessere Leistung beim Debugging erzielt werden kann. Das Standardformat für die Ausgabe von Debugging-Informationen basiert künftig auf Dwarf4(öffnet im neuen Fenster).
Die Beseitigung partieller Redundanzen erledigt die neue Option -ftree-partial-pre deutlich aggressiver als zuvor. Wer die Optimierungsstufe -O3 wählt, schaltet die Option automatisch ein. Weitere Verbesserungen erhielt der Link-Time-Optimizer. Außerdem gibt es einen neuen Symbol-Table, der auf Callgraph und Varpool basiert und ein neues API bietet.
Mehr C++11
Während die Unterstützung für C nur wenig verbessert wurde, wurde diejenige für C++ um eine Reihe neuer Funktionen aus C++11 erweitert, darunter das Keyword thread_local oder vererbte Konstruktoren. In der Runtime-Bibliothek Libstdc++ wurde die zunächst experimentelle Unterstützung für C++11 eingebaut.
Mit GCC 4.8.0 lassen sich künftig Anwendungen für ARMs 64-Bit-Architektur (AArch64) kompilieren, die auf den Prozessoren Cortex-A53 und Cortex-A57 laufen. Auf den 32-Bit-Varianten unterstützt GCC 4.8.0 ARMv8.
Sämtliche Änderungen haben die Entwickler auf ihrer Webseite zusammengefasst(öffnet im neuen Fenster). GCC 4.8 ist ebenfalls dort als Download erhältlich(öffnet im neuen Fenster).
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.