|
|
Funktionsdatei während Laufzeit ändern |
|
stick_thai |
Forum-Anfänger
|
|
Beiträge: 27
|
|
|
|
Anmeldedatum: 25.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.11.2010, 12:01
Titel: Funktionsdatei während Laufzeit ändern
|
|
Hallo,
was passiert eigentlich, wenn ich während der Laufzeit eine Matlab-Funktionsdatei ändere? Zum Beispiel starte ich eine for-Schleife, in der einfach eine Funktion aufgerufen wird und während die for-Schleife läuft, ändere ich über einen Editor die m-Datei mit der entsprechenden Funktion. Wird dann mit der überarbeiteten Datei oder der alten weitergerechnet?
Danke und Gruß,
stick_thai.
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 09.11.2010, 12:19
Titel: Re: Funktionsdatei während Laufzeit ändern
|
|
Hallo stick_thai,
Zitat: |
was passiert eigentlich, wenn ich während der Laufzeit eine Matlab-Funktionsdatei ändere? |
Du könntest es ja einfach mal ausprobieren...
Die M-Files werden eingelesen, wenn eine Funktion zum ersten Mal aufgerufen wird. Oder nachdem eine Funktion aufgerufen wird, die vorher per "clear" aus dem Speicher entfernt wurde (entweder "clear FuncName", oder "clear functions" oder "clear all"). Per MLOCK kann man ein M-File im Speicher vor CLEAR schützen.
Eine weitere Methode zum Auffrischen ist REHASH (siehe "help rehash").
Und, noch für die Hardcore-Programmierer, man kann natürlich in einem C-Mex-File den Stack korrumpieren und die Speicher-Adressen der aufrufenden Funktioned direkt verändern. ;-)
Gruß, Jan
|
|
|
stick_thai |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 27
|
|
|
|
Anmeldedatum: 25.03.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.11.2010, 13:40
Titel:
|
|
Hi Jan,
danke für die ausführliche Antwort. Hatte es inzwischen auch selber ausprobiert
Gruß,
stick_thai.
|
|
|
|
|
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 - 2024
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.
|
|