|
|
"Out of bounds" bei executable Datei |
|
Sugata |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.03.2010, 15:52
Titel: "Out of bounds" bei executable Datei
|
|
|
|
|
Hallo,
ich habe ein Matlab Programm mit Hilfe des Microsoft Visual Studio Compilers in eine "standalone" executable (*.exe) convertiert. Soweit so gut. Mit anderen Matlab Programmen klappt es auch. Nur bei diesem einen spuckt er mit immer ein Out of bounds Fehler aus was ich nicht verstehe, da das Programm in Matlab einwandfrei läuft.
Ich vermute dass es irgendwie damit zu tun hat, dass Matlab mit Vektoren und Matrizen arbeitet und bei 1 beginnt zu zählen und Windows aber mit Arrays arbeitet und bei 0 beginnt zu zählen, was dann dazuführen würde, dass am ende die Arrays immer um eine Stelle versetzt sind was zum Error führen würde. Aber wie ist das denn möglich? Sollte das nicht durch den Compiler behoben werden? Oder wieso funktioniert es zb mit anderen Programmen wo ich ähnliche for-schleifen habe mit ähnlichem Vector index.
Ich frage erst einmal allgemein, ob jemand mit sowas schon Erfahrung gemacht hat und eine Lösung weiß.
Danke für eure Hilfe.
-Sugata
P.S.: Ich habe bereits ausprobiert an besagter Zeile im Code die länge vom index um eins zu verringern. Das hat geklappt, aber dann taucht der Fehler natürlich in der nächsten Zeile mit einem Vector auf. Also es scheint definitiv wegen dieser 0 / 1 Sache zu sein!?
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 09.03.2010, 17:25
Titel:
|
|
For ca. 5 Jahren gabe es mal 2 Bugs in der Richtung. Um welches Release handelt es sich denn?
Andreas
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.03.2010, 17:48
Titel:
|
|
Hallo,
von mir auch eine Frage: werden Parameter an das Executable übergeben, d.h., rufst Du Dein Programm auf z.B. mit
C:\IrgendWo> meinCompiliertesProgramm 42
Gerne übersehen wird, dass die 42 im Programm als String ankommt, statt wie in MATLAB als Zahl ...
Titus
|
|
|
Sugata |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.03.2010, 09:45
Titel:
|
|
Hallo,
also es ist die Version 7.7.0.471 (R2008b).
Und ja es werden Werte übergeben. Zahlen und ein Dateipfad/Dateiname.
Ich hatte von dieser String Sache auch mal gelesen, aber dachte mir da es ja keine Fehler beim Input gab, dass es nicht daran liegen wird. Also ich habe keine umwandlung der übergebenen Variablen in Zahlen vorgenommen.
Werde ich gleich mal testen und dann berichten.
Grüße,
Sugata
|
|
|
Sugata |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.03.2010, 09:58
Titel:
|
|
Super, es hat geklappt.
Also es lag wirklich daran, dass wenn ich die Parameter (Zahlen) übergeben hatte, dass er dann damit scheinbar nicht weiterarbeiten konnte.
str2double hat das Problem gelöst
Danke!
-Sugata
|
|
|
|
|
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.
|
|