AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein wie bearbeitet ein Compiler if-Abfragen?
Thema durchsuchen
Ansicht
Themen-Optionen

wie bearbeitet ein Compiler if-Abfragen?

Ein Thema von dragi · begonnen am 31. Jan 2005 · letzter Beitrag vom 3. Feb 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#11

Re: wie bearbeitet ein Compiler if-Abfragen?

  Alt 3. Feb 2005, 10:47
Ich weiss jetzt nicht ob es bereits mal erwähnt wurde, aber der Compiler nimmt natürlich auch Optimierung durch.

Es wird nur so lange ausgewertet, bis das Ergebnis des Gesamten Ausdrucks feststeht. Bestes Beispiel ist immer ne Prüfung bei einem Array:

if (length(Arr)>0) and (Arr[0]=10) then Wenn Arr eine Länge von Null hat, führt er Arr[0]=10 nicht mehr aus, da der Gesamtausdruck nicht mehr Wahr sein kann.

Genauso verhält es sich bei or

if (a=10) or (b=20) then Wenn a 10 ist, wird b auch nicht mehr geprüft, da nun der gesamte Ausdruck auf jeden Fall wahr ist.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#12

Re: wie bearbeitet ein Compiler if-Abfragen?

  Alt 3. Feb 2005, 10:50
@PRehders

Super,

vielen Dank das du dir die Mühe gemacht hast. Ich glaub jetzt ist mir einiges viel viel klarer geworden! Werd mich da jetzt al einarbeiten.

Gruss

Dragi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz