GCC optimiert Sicherheitsprüfungen weg
Früher war ich mal Fan und Hard-Core-Programmierer der Sprachen C und C++.
Das habe ich mir längst abgewöhnt. Angesichts der vielen Puffer-Überläufe bin ich längst der Auffassung, daß eine Sprache, die so etwas zuläßt, für allgemeine Programmierung nicht mehr taugt und verwendet werden darf. C stammt aus einer Zeit, als CPU-Leistung und Speicherplatz knapp und teuer war. Heute haben wir beides im Überfluß. Deshalb sollten meines Erachtens nur noch Sprachen zum Einsatz kommen, bei denen alle Datenobjekte so gekapselt und abstrahiert sind, daß man keine Pufferüberläufe mehr produzieren kann.
Eigentlich sollten solche Abfragen im Programm selbst dann nicht mehr notwendig sein, sondern das Laufzeitsystem selbständig das Programm abbrechen.
Der Gnu-C-Compiler GCC macht es jetzt andersherum, er führt nicht nur keine eigenen Prüfungen durch, sondern optimiert auch noch die Sicherheitsprüfungen im Programm weg. Auch ne Methode. Vermutlich werden wir noch die nächsten 20-30 Jahre mit Pufferüberläufen zu tun haben.