Loki876 Geschrieben 20. Februar 2006 Geschrieben 20. Februar 2006 Hi, ich schreibe ein Programm dass einen Textdump nach bestimmten schluesselwoertern durchsucht und information die in diesem dump stehen herausliest um diese dann spaeter zu interpretieren. Dazu schreibe ich die informationen in Textarrays um spaeter wieder auf die informationen zugreifenzukoennen. Nun mein problem ist, dass ich sehr viele (und recht grosse) Textarrays dafuer brauche. Und anscheinend zu viel fuer c++. Jedenfalls bekomme ich beim ausfuehren meines programs seitdem ich ein weiteres array hinzugefuegt habe eine fehlermeldung. Gibt es eine moeglichkeit wie ich in C++ mehr speicher fuer meine variablen zuweisen kann oder waere es ratsamer das alles mit einer Datenbank zu realisieren? gruss Thomas Zitieren
Klotzkopp Geschrieben 20. Februar 2006 Geschrieben 20. Februar 2006 Jedenfalls bekomme ich beim ausfuehren meines programs seitdem ich ein weiteres array hinzugefuegt habe eine fehlermeldung.Geht es etwas genauer als "eine fehlermeldung"? Gibt es eine moeglichkeit wie ich in C++ mehr speicher fuer meine variablen zuweisen kann oder waere es ratsamer dass alles mit einer Datenbank zu realisieren?Erläutere doch erst mal deine Vorgehensweise mit ein wenig Quellcode, bevor du dich an einer Symptombehandlung versuchst. Vielleicht geht das ja auch viel einfacher. Zitieren
Guybrush Threepwood Geschrieben 20. Februar 2006 Geschrieben 20. Februar 2006 zuviel für c++ gibts nicht, höchstens für deinen speicher Um dir einen Tipp zu geben wie du es evtl besser machen könntest solltest du erstmal genauer beschreiben was du machen willst. Wo kommen die Daten her die du analysieren willst und was willst du genau damit machen? EDIT: hmm mal wieder zu langsam Zitieren
Loki876 Geschrieben 20. Februar 2006 Autor Geschrieben 20. Februar 2006 zuviel für c++ gibts nicht, höchstens für deinen speicher Um dir einen Tipp zu geben wie du es evtl besser machen könntest solltest du erstmal genauer beschreiben was du machen willst. Wo kommen die Daten her die du analysieren willst und was willst du genau damit machen? EDIT: hmm mal wieder zu langsam versuche es mal so knapp und som einfach wie moeglich su erklaeren. ich schreibe einen analyzer fuer AAF(advanced authoring format), in der SDK gibt es einen WIN32 basierendes modul, dass die information eines AAF files als textdump ausgibt. dieser dump gilt es nun zu analysieren. diese dump habe ich nun in einen textarray geschrieben der nach schluesselworten durchsucht wird und bestimmt attribute(bei AAF properties genannt) schreibe ich heraus, z.B. suche ich nach Videodescriptoren und schreibe FrameRate,Resolution, Codec, etc... in ein passendes Textarray. Auf diese Textarrays, und die properties die dort drin stehen, muss ich spaeter zu greifen, um z.B. spaeter die Information in einer timeline darzustellen(mit allen Video und Audioclips, Effekten, und Transitions). Aber da in diesen AAF file sehr viel information und sehr komplexes beschreiben wird brauche ich viele dieser Textarrays. Die Fehlermeldung ist: Die Anweisung "0x5f477076" verweist auf Speicher in "0x33bc454c". Der Vorgang "read" konnte nicht auf dem Speicher durchgefuehrt werden. Zitieren
Klotzkopp Geschrieben 20. Februar 2006 Geschrieben 20. Februar 2006 Vermutlich überschreitest du irgendwo in deinem Code eine Arraygrenze. Zitieren
Guybrush Threepwood Geschrieben 20. Februar 2006 Geschrieben 20. Februar 2006 Ja würde ich auch sagen. Aber wenn du nur ein paar Informationen aus der Datei brauchst und dich der Rest erstmal nicht interessiert würde ich die Datei der Reihe nach durchlesen und sobald du was findest was du brauchst das dann in einer Variablen merken. Ist denke ich besser als ne 200MB Datei (oder wie groß die auch immer ist) komplett in den RAM zu laden... Zitieren
Loki876 Geschrieben 21. Februar 2006 Autor Geschrieben 21. Februar 2006 hab den fehler gefunden. danke nochmal an alle. Ja würde ich auch sagen. Aber wenn du nur ein paar Informationen aus der Datei brauchst und dich der Rest erstmal nicht interessiert würde ich die Datei der Reihe nach durchlesen und sobald du was findest was du brauchst das dann in einer Variablen merken. Ist denke ich besser als ne 200MB Datei (oder wie groß die auch immer ist) komplett in den RAM zu laden... brauch schon ein paar mehr informationen. und diese sind objektorientiert gespeichert werden und recht verschaltet, habe ich mich deswegen bis jetzt zur den verwendung von arrays entschieden. Dazu kommt, dass nicht jede AAF datei gleich aufgebaut ist und die gleiche anzahl an Objecten(Mobs genannt) vorhanden sind. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.