You are not logged in.

1

Thursday, December 8th 2011, 8:51pm

NDSi XL Programmspeicher

Hallo liebe Homebrew-Gemeinde,

ich bin seit kurzem in die Programmierung des NDS eingestiegen.
Ich habe schon recht viel Erfahrung, was das Programmieren von PC-Programmen angeht.
Allerdings habe ich schnell festgestellt, dass man bei Programmen für den DS stets darauf achten sollte, keinen Speicher zu verschwenden.

Mir wäre sehr geholfen, wenn Ihr mir ein paar Tips/Richtlinien geben könnten, wann, wie, wo man den Speicher des NDS schonen kann.
Insbesondere interessiert es mich, wieviel Programmspeicher der NDS hat, sprich wie groß mein Programm an sich werden darf.
Desweiteren würde ich gerne wissen, ob es Sinn macht bei Variablen immer den kleinstmöglichen Datentyp zu allokieren, beispielsweise:

Source code

1
uint8_t var;


statt

Source code

1
int var;


wenn nur ein Byte benötigt wird.
Oder ist das Erbsenzählerei??

Vielen Dank für eure Antworten/Denkanstöße

Grüße!

This post has been edited 1 times, last edit by "AntiK" (Dec 8th 2011, 11:03pm)


StarWolf3000

PHP Developer & Tutor / Anti Warez and Cheating Task Force

(214)

    Deutschland

Posts: 1,448

Location: /dev/di

  • Send private message

2

Friday, December 9th 2011, 9:16am

Man sollte natürlich immer so sparsam wie möglich mit dem Speicher umgehen. Beim DS kannst du maximal 4 MiByte nutzen. Allerdings wird davon die Größe von deinem Binary (.nds) abgezogen.

Eine Variable vom Typ unsigned int macht nur Sinn, wenn diese einen Wertebereich von 0 bis 255 annehmen soll bzw. da uint8_t ein CHAR-Typ ist, maximal nur 1 Zeichen darin speichern willst.

Es ist auf jeden Fall sinnvoll, immer den kleinst-möglichen Datentyp zu definieren. Du kannst zwar sämtliche Variablen als int, long int usw. deklarieren, aber das verbraucht nur unnötig Speicher als man wirklich benötigt und es kommt schneller zum Speicherleck als man denkt.