Schleife als Makro auslagern?

Gast #2401903
Lesenswert?

Moin,

ich habe in einem Quelltext an verschiedenen Stellen folgende Schleife:
1
do {
2
  ladeAdresse(adresse);
3
  tuWas();
4
  tuWasAnderes();
5
  adresse = nextAdresse();
6
} while(adresse);

Nun möchte ich gern ein Makro so definieren, dass ich diese Schleifen so 
schreiben kann (oder vergleichbar...):
1
ITERATION(adresse) {
2
  tuWas();
3
  tuWasAnderes();
4
}

So könnte ich fehler von vornherein ausschließen, und auch der source 
wäre mMn übersichtlicher.

Wer kennt sich gut genug mit Makros aus, um mir dabei zu helfen?

~void~
Moderator (Firma: Titel) Persönliche Seite #2401914
Lesenswert?

theVoid schrieb:
> Wer kennt sich gut genug mit Makros aus, um mir dabei zu helfen?
Ich meine, dein Problem erkannt zu haben:
> ich habe in einem Quelltext an verschiedenen Stellen folgende Schleife

Im Ersnt: poste doch mal den zugehörigen Quellcode, dann kann man statt 
raten etwas raten. Vermutlich ist einfach der Ansatz schon ungünstig.
Gast #2401923
Lesenswert?

Lothar Miller schrieb:
> Im Ersnt: poste doch mal den zugehörigen Quellcode, dann kann man statt
> raten etwas raten. Vermutlich ist einfach der Ansatz schon ungünstig.

Hmmm, neee. Der Code ist noch in einem absolut-nicht-vorzeigbaren 
experimentellen Alpha-Stadium. Ich schreibe da an einem alternativen 
Dateisystem, im Moment nur spezialisiert auf SD/MMC-Karten.

Die Schleifen brauche ich zB, um über die einzelnen Zuordnungseinheiten 
einer Datei bzw. eines Ordners zu iterieren.

~void~
Gast #2401950
Lesenswert?

-_- schrieb:
> sowas?
> #define ITERATION( adr ) do{ ladeAdresse(adr);tuWas();tuWasAnderes(); 
adr=nextAdresse();}while(adr);

Naja, fast^^
da sich "tuWas" bzw. "tuWasAnderes" ändern können, müsste das wohl 
anders aussehen.

-_- schrieb:
> aber meinst nicht das ne funktion schoener waer?
Ich wüsste nicht, dass das mit einer (inline)-Funktion so möglich 
wäre...

~void~

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren