AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Linus T. läuft Amok!

Ein Thema von Insider2004 · begonnen am 5. Jan 2013 · letzter Beitrag vom 6. Jan 2013
Antwort Antwort
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Linus T. läuft Amok!

  Alt 6. Jan 2013, 10:30
Viel lustiger ist dieser Code, der aus einer der vorherigen Mails stammt

Code:
if (ctrl == NULL) {
  ret = -EINVAL;
  goto done;
}
Und ich dachte immer, 'goto' sei furchtbar böse.
Vergiss nicht: der Kernel ist in C geschrieben, da gibt es keine Exceptions oder try ... finally oder sowas. Das heißt, wenn man noch was aufräumen muss gibt es entweder die Möglichkeit mit einer Boolean-Variable und entsprechenden if-Bedingungen zu arbeiten oder man macht einfach ein goto . Ist vor allem im Betriebssystemumfeld recht gebräuchlich.

Im Free Pascal Compiler gibt es auch ein paar Gotos und vor einiger Zeit hab ich auch mal ein weiteres eingeführt (im Zusammenhang mit Generics), um ziemlich zum Anfang einer Funktion zurückzuspringen... Solange man Gotos nicht inflationär einsetzt, sondern nur an ausgewählten Stellen ist meiner Meinung nach nichts verwerfliches an ihnen und sie können die Lesbarkeit sogar erhöhen (aus ähnlichen Gründen bin ich auch ein Fan von absolute ).

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz