Hallo.

Ich habe folgendes Problem:
Ich habe eine unbestimmte Anzahl an .h-Dateien, in denen bestimmte Sachen deklariert werden (was genau ist jetzt erstmal egal). Ich möchte, dass es egal ist, in welcher Weise man sie #included. Die .h-Dateien brauchen später eine festgelegte Anzahl an elementen in einem Array. Welcher Index ihr erster und ihr letzter Index in diesem Array sind, ist egal. Hauptsache ist, der Bereich ist zusammenhängend und es gibt keine Überschneidungen.

Ich dachte da an sowas wie (also dass das nicht geht, war mir vorher klar, aber vom Prinzip her) folgendes:
Am Anfang jeder Include-Datei steht sowas wie

int myFirstIndex = FIRST_INDEX.

und am Ende dann

#define FIRST_INDEX (FIRST_INDEX + 4)

(4 = die Anzahl, die die Include-Datei braucht, in diesem Fall also 4).

Also dass das nicht geht, ist mir klar. Es wird ja immer zuerst der komplette Präprozessor ausgeführt, und dann compiliert. Außerdem ist das sowieso recht blöd, weil ich ja dann im code - wenn das ginge - sowas wie (((...)+3)+4) stehen hätte (was aber theoretisch ja wegoptimiert werden sollte).

Naja. Wie dem auch sei. Also sowas würd ich gerne ohne irgendwelche externen Programme hinbekommen. Ich meine, mich interessiert wirklich nur, ob das mit reinen Präprozessor-Anweisungen geht... Alternativen kenne ich genug (z.B. ein Bashscript, etc.). Ich will nur wissen, ob es auch mit reinem präprozessor geht.