Auf Wiedersehen, Roboter - Hallo, Marasmus - Seite 9

 
C-4:
Solche Leute sind komisch. Solche Eierköpfe kämpfen gegen den Compiler wie gegen eine Windmühle, ohne die Hauptsache zu verstehen: Der Compiler ist Ihr Verbündeter! Freuen Sie sich, wenn der Compiler auf potenziell unsichere Codefragmente schimpft. Freuen Sie sich, auch wenn die Anwendung gleich nach dem Start mit einer Fehlermeldung abstürzt. Aber Gott bewahre, dass Sie einen unkontrollierbaren Code bekommen, wenn es keine Fehler oder Warnungen gibt und das Programm gut zu funktionieren scheint, aber hin und wieder seltsame Störungen auftreten, deren Ursache nirgends zu finden ist. In solchen Momenten wird man träge und träumt von Fehlern wie "ungültiger Zeiger" oder "Division durch Null".

Es stellt sich heraus, dass ein Compiler nicht dasselbe ist wie ein Compiler. Hier ist der C/C++-Compiler von Intel ein Verbündeter. Wenn Sie Bemerkungen wünschen, sind Sie herzlich willkommen. Wenn Sie keine wollen, kein Problem. Wenn Sie einige Bemerkungen deaktivieren möchten, nennen Sie sie einfach.

Aber es gibt auch andere Compiler. Einige von ihnen sind "was immer Sie wollen".

Es ist angemessen, sich zu freuen, wenn der Compiler ein Verbündeter ist, wenn er "zuhört". Und auch, wenn es gelingt, keinen unüberschaubaren Code zu erstellen. Dann kommen Ihnen solche bizarren Träume gar nicht mehr in den Sinn.

 
Andrei01:

Auch hier gilt, dass professionelle Programmierer in der Regel nicht auf Warnungen achten, weil sie die Logik des Compilers kennen und Compiler zum Testen der Codefunktionalität nutzlos sind.

Professionelle Programmierer schalten die maximale Warnstufe und alle Warnungen (NICHT Bemerkungen, nur Warnungen) ein und stellen sicher, dass der Code ohne eine einzige Warnung kompiliert wird. Einige besonders Eifrige schalten auch einen speziellen Modus ein, in dem eine Warnung vom Compiler als Fehler behandelt wird und der Code einfach nicht kompiliert wird, wenn auch nur eine einzige Warnung auftaucht.
 

Ich verstehe, dass einige Leute hysterisch werden, nachdem sie sich mit statischen Analysatoren vertraut gemacht haben.

Aber erst danach verstehen einige, was ein Compiler tun muss (genau). Wir schreiben das Jahr 2014 und gewöhnliche Compiler hinken bei der Qualitätskontrolle mindestens 10 Jahre hinterher und konzentrieren sich nur auf Optimierungen.

Zur Information: der Intel C++ Compiler erholt sich immer noch von seinen Defekten - er erzeugt ständig interne Compilerfehler in unseren Projekten. Das heißt, es kaut keine großen Projekte durch und produziert seine eigenen Fehler. Und auch die Mythen über seine außergewöhnlichen Optimierungseigenschaften sind überholt - alle anderen haben ihr Optimierungsniveau stark angezogen.

In einer so gefährlichen und selbstmörderischen Sprache wie C++ gibt es so viele Schlüssel und Kompilierschalter, dass selbstbewusste Programmierer tonnenweise uralten und von nirgendwoher kopierten Code ohne Nervenkrämpfe kompilieren können :)

 
Andrei01:

...

Nochmals: Professionelle Programmierer sehen sich Warnungen normalerweise nicht an...

In die Annalen!!!
 
C-4:
In die Annalen!!!
Können Sie etwas zur Sache sagen, ohne sich zu blamieren?
 
Renat:
Können Sie eine Umgebung, einen Compiler und Einstellungen für das optimale Schreiben (Geschwindigkeit/Optimierung + Fehlererkennung usw.) von C++ und anderen Sprachen empfehlen?
 
bxa29869:
Können Sie eine Umgebung, einen Compiler und Einstellungen für das optimale Schreiben (Geschwindigkeit/Optimierung + Fehlererkennung usw.) von C++ und anderen Sprachen empfehlen?
Visual Studio wie?
 
_new-rena:
Visual Studio wie?

Ich habe es ausprobiert, es ist in Ordnung. Aber ich habe nichts, womit ich es vergleichen könnte. Ich möchte auf einer optimalen Infrastruktur programmieren.

Meine Programme sind klein, selten überschreitet der Quellcode hundert Kilobytes. Ich hätte gerne eine Empfehlung für solche Amateurversionen. Ich spreche nicht von großen Projekten.

 
bxa29869:
Können Sie Umgebung, Compiler und Einstellungen für das optimale Schreiben (Geschwindigkeit/Optimierung + Fehlererkennung usw.) von Programmen in C++ und anderen Sprachen empfehlen?

Empfohlen für die berufliche Weiterbildung:

  • Visual Studio 2012 und höher
  • Der kostenlose CPP-Check ist ein Muss
  • PVS Studio (voll kostenpflichtig, Sie können eine billige Version von CPP Cat erhalten) - dringend empfohlen, wenn es um berufliche Entwicklung geht
  • PC Lint (kostenpflichtig, aber günstig, gut für automatisierte Läufe, schnell, erfordert ein Add-In oder eine Benutzeroberfläche wie VisualLint)
  • C++ Memory Validator (es gibt ein ganzes Paket von Programmen, es ist kostenpflichtig, nicht teuer, sehr gut für Ressourcenoptimierung und Fehlersuche)
  • Intel Parallel Studio (teuer, langsam, fehlerhaft als Compiler, unbrauchbar für den Massenmarkt, gut für mathematische Bibliotheken, gut für tiefes Tuning, ich mag es nicht besonders)
 
Ich danke Ihnen! Gleichzeitig stellt sich heraus, dass der reguläre Visual Studio Compiler unverändert bleiben kann.