Wie groß darf ein array sein?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Buggymonkey
Beiträge: 47
Registriert: 02.09.2004 19:36
Wohnort: Löhne
Kontaktdaten:

Wie groß darf ein array sein?

Beitrag von Buggymonkey »

Hi,
ich wollte mal fragen wie groß ein array sein darf, also wie viele einträge und wie lang die einträge sein dürfen??

:mrgreen:

Danke NIls
wenn wer rechtschreibfehler findet, kann er sie behalten, :)

Ich würde gern die Welt verändern,
doch Gott gibt mir den Quellcode nicht!

http://www.house-of-chat.de umbedingt mal vorbei schaun ^^
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

So groß wie du Ram hast :wink:. musst so rechnen. Bytes brauchen 1 Byte speicher, Words 2 Byte, Dword (Long) 4 Byte und Strings 5 Byte + Länge + 0 Byte (Markierung für das Ende eines Strings). Strings belegen 4 Byte wegen Pointer wo sich die Daten befinden und noch jeden einzelnem Zeichen.

kleiner edit wegen String
Zuletzt geändert von MVXA am 01.01.2005 21:31, insgesamt 1-mal geändert.
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

LittleFurz hat geschrieben:So groß wie du Ram hast :wink:. musst so rechnen. Bytes brauchen 1 Byte speicher, Words 2 Byte, Dword (Long) 4 Byte und Strings 5 Byte + Länge. Strings belegen 4 Byte wegen Pointer wo sich die Daten befinden und noch jeden einzelnem Zeichen.
Aber den Pointer speichert man doch nicht?!? Und Float hat auch 4 Bytes.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

soweit ich weiß speichert PB in arrays den Pointer zu einem String im Speicher :?
Bild
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

doch, klar wird der pointer im speicher behalten... woher sollte pb sonst wissen, wo der string anfäng?
Benutzeravatar
Buggymonkey
Beiträge: 47
Registriert: 02.09.2004 19:36
Wohnort: Löhne
Kontaktdaten:

Beitrag von Buggymonkey »

ok danke für ie antworten

Gruß Nils
wenn wer rechtschreibfehler findet, kann er sie behalten, :)

Ich würde gern die Welt verändern,
doch Gott gibt mir den Quellcode nicht!

http://www.house-of-chat.de umbedingt mal vorbei schaun ^^
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

btw:
durch das swap file kannst du auf jedem 32bit-rechner von 4095MB hauptspeicher ausgehen,
du musst natürlich den platz für betriebssytem und andere resistente progs abziehen.
aber 3GB sollten verwendbar sein.

ein hinweis, den maximal verfügbaren virtuellen speicher anzupassen, solltest du allerdings hinzufügen,
wenn der anwender eine geringere grösse eingestellt hat, funzt es nicht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag von traumatic »

Kaeru Gaman hat geschrieben: durch das swap file kannst du auf jedem 32bit-rechner von 4095MB hauptspeicher ausgehen
lol, da wär bei mir aber die platte schon vorher voll....
...und äh swapfile??? AUS! ;)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

1) wieso? hast du weniger als 4GB auf der platte frei?
die meisten(?) mögen sich ja nicht drum kümmern,
deshalb hab ich ja auch den hinweis empfohlen.
ich persönlich hab festgestellt, dass es praktisch ist,
von anfang an den VS auf maximum zu schrauben.
z.b. bei simcity3000 kommt es zu unangenehmen nebeneffekten,
wenn er zur laufzeit den VS vergrössert.

2) ja sorry, bei win nennt man es 'virtuellen speicher', aber de facto ist es ein swapfile,
deswegen hab ichs ganz einfach mal so geschrieben.
(nenne es künstlerische freiheit :wink: )
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag von traumatic »

Kaeru Gaman hat geschrieben:1) wieso? hast du weniger als 4GB auf der platte frei?
Ja. Zumindest auf der Partition, die die Auslagerungsdatei standardmäßig
beherrbergen würde.
2) ja sorry, bei win nennt man es 'virtuellen speicher', aber de facto ist es ein swapfile,
deswegen hab ichs ganz einfach mal so geschrieben.
(nenne es künstlerische freiheit :wink: )
Nene, oh gott, sorry, ich meinte nicht "AUS!" als wärst Du ein Hund ;)
Ich meinte, ich habe keinen virtuellen Speicher an, auf keinem Laufwerk.
Antworten