Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

MaximaleGröße für UDT Arrays?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 04.05.2010, 20:34    Titel: MaximaleGröße für UDT Arrays? Antworten mit Zitat

hi Leuts, ich hab da mal ein kleines Problem..

Angenommen ich hätte einige UDTs z.B

Code:

Type UDT_1
  as Integer INT1, INT2
  as Single  SING1, SING2
  [...]
End Type

Type UDT_2
  as UByte    UB1, UB2
  as Double  DBL1, DBL2
  [...]
End Type


so und diese UDTs sind in meinem Proggi sehr groß (~20-30 Elemente) und Teilweise auch inneinander verkettet

So jetzt definiere ich 2 Konstanten, welche jeweils die Anzahl der Indizes zweier Arrays angeben. In Bezug eben auf das jeweilige UDT

Code:

Const MaxIndexUDT_1=1000
Const MaxIndexUDT_2=1000

Dim EinArray ( MaxIndexUDT_1 ) As UDT_1
Dim NochEinArray ( MaxIndexUDT_2 ) As UDT_2


ich benutze 4 solcher UDTs also auch 4 Konstanten und 4 Arrays.
Und was mich stutzig werden ließ war:
wenn ich eine Konstante um z.B 1000 erhöht habe kam die Tolle Windows-Meldung "funktioniert n. mehr" u.s.w
wenn ich dann aber eine andere Konstante um 1000 senkte lief es wieder.
der FBC kompiliert alles sorglos!
Und wenn es dann lief verbrauchte es auch nur 10MB Ram...

Da frage ich mich:
Gibt es ein Limit an Indizes, welches für alle Arrays zusammen gilt?
Oder anders gefragt:
Gibt es eine Speicherbegrenzung für das reservieren v. Variablen?
Oder ist das ganze ein Windows Vista x64 BUG? (btw ich hasse vista)
====================================================
Ich hatte gedacht man kann so viele Arrayeinträge definieren bis der RAM voll ist.
ich hoffe das war verständlich
könnte mir das bitte jmd erklären? wär echt net

euer d1rTy happy h4RrY

EDIT: @Moderatoren -> tut mir Leid könntet Ihr dass
bitte verschieben, sollte eigenlich zu "Allgemeine FB Fragen" sry verklickt traurig
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 04.05.2010, 21:17    Titel: Antworten mit Zitat

Kompilier mal mit -exx und starte dein Programm über die Konsole. Sag uns was es anzeigt beim abstürtzen. Da gibts einige Sachen die denkbar sind.
Übrigens kannst du mit FB nicht beliebig viel RAM verwenden, die Grenze liegt glaube ich bei 2 GB.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 04.05.2010, 21:23    Titel: Antworten mit Zitat

ja das habe ich schon probiert. da kommt nämlich nix.. normalerweise müsste inner kommandozeile ja dann der Fehler stehen aber nix ,
vllt doch ein windows Vista Problem, ich werds morgen auf XP testen... oder vllt weiß jmd ob es eine art Array limit oder so ähnlich gibt.. fände ich aber komisch

d1rty happy h4rry

EDIT: in der Windows-Absturzmeldung stehn ja noch ein paar details aber ich werd daraus n. schlau

Windows Vista hat Folgendes geschrieben:

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: flteamster.exe
Anwendungsversion: 0.0.0.0
Anwendungszeitstempel: 4be07310
Fehlermodulname: flteamster.exe
Fehlermodulversion: 0.0.0.0
Fehlermodulzeitstempel: 4be07310
Ausnahmecode: c0000005
Ausnahmeoffset: 0000242c
Betriebsystemversion: 6.0.6002.2.2.0.768.3
Gebietsschema-ID: 1031
Zusatzinformation 1: 5497
Zusatzinformation 2: 2d683a30b3ace519fad584b5572b3c31
Zusatzinformation 3: 46ca
Zusatzinformation 4: f95d3bdcb78474908d7cdf0cc959dc76


EDIT2: 2GB?! ich wär froh wenn 20MB gehen würden lächeln
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Stueber



Anmeldungsdatum: 07.07.2008
Beiträge: 202

BeitragVerfasst am: 04.05.2010, 22:03    Titel: Antworten mit Zitat

20 MB Arrays? Da könntest du mal den Stack vergrößern. Einfach mit "-t 30000" versuchen oder noch größer, je nach dem wie viele Arrays du hast und wie groß die sind.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 04.05.2010, 22:15    Titel: Antworten mit Zitat

Stueber du bist mein Held zwinkern

ich wusste noch garnet dass man die stack-Größe verändern kann,
boah ich dachte schon das wird nimmehr

aber It works, mann! ich liebe dieses Forum

Danke!

d1RtY happy H4RrY
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 04.05.2010, 22:17    Titel: Antworten mit Zitat

Stueber hat Folgendes geschrieben:
20 MB Arrays? Da könntest du mal den Stack vergrößern. Einfach mit "-t 30000" versuchen oder noch größer, je nach dem wie viele Arrays du hast und wie groß die sind.


Damn, zu langsam.
-t StackSize
[StackSize] = kB
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 04.05.2010, 22:29    Titel: Antworten mit Zitat

@28398 - lächeln trotzdem danke grinsen

d1rty happy h4rry
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 06.05.2010, 18:25    Titel: Antworten mit Zitat

Derartige Arrays gehören eigentlich in den Heap, und nicht auf den Stack; in FreeBASIC: "redim ..."
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht 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.

 Impressum :: Datenschutz