|
|
Frage zu globale Variablen |
|
asphalt |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 07.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 09:56
Titel: Frage zu globale Variablen
|
 |
Hallo Experten
Ich habe noch nicht so recht kapiert, warum globale variablen nicht so sinvoll sind.
Wird dadurch der Code langsamer ausgeführt, oder wo liegt das Problem?
Danke
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 11:07
Titel:
|
 |
Hallo,
das Problem liegt in der Nachvollziehbarkeit, insbesondere bei größeren Projekten.
Normalerweise ist es so, dass eine Variable nur in einem Workspace existiert. Wenn man also beim Debuggen feststellt, dass der Wert der Variablen inkorrekt ist, kann man sich beim Debuggen auf das entsprechende Programm konzentrieren.
Wenn eine Variable global ist und damit in mehreren Programmen zugegriffen (und auch verändert) werden kann, kann der Fehler in all diesen Programmen liegen.
Es spricht in Einzelfällen nichts dagegen, eine Variable mal als global zu definieren, allerdings sollte man dann beim Programmieren besonders sorgfältig sein. Was ich um jeden Preis vermeiden würde ist eine Vielzahl globaler Variablen, aus oben genanntem Grund.
Grüße,
Harald
|
|
|
asphalt |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 07.12.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 16:32
Titel:
|
 |
Hallo Harald
Danke für deine Infos.
Was ich noch gerne wissen wollte ist, ob der Code mit vielen globalen Variablen langsamer abläuft.
Danke
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 17:44
Titel:
|
 |
Hallo asphalt,
Nein, die Unterschiede zwischen GLOBALs und lokalen Variablen sind vernachlässigbar. Es gibt ein Unterschiede, wenn eine globale Variable den ganzen zur Verfügung stehenden Speicher belegt, aber dann ist man mit Matlab so oder so in Schwierigkeiten.
Die Laufzeit ist also bei GLOBALs nicht ausschlaggebend. Die Zeit, die man zum Debuggen braucht steigt dagegen exponentiell mit der Anzahl globaler Variablen. Wenn 3 GUIs und ein Timer auf 20 GLOBALs zugreifen, liegt die Debug-Zeit etwa beim doppelten Alter des Universums.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|