Ich bin neu im Präprozessor, ich benutze es selten, also könnte diese Frage albern erscheinen. In meinem C Programm entdeckte ich, dass eine for-Schleife, die einen festen Anfang und ein Ende hatte, das zur Kompilierungszeit bekannt war, einige Leistungsprobleme verursachte. Ich habe das vorläufig gelöst, indem ich es manuell ausgerollt habe, aber das scheint ein bisschen dreckig zu sein. Gibt es eine Möglichkeit, den Präprozessor zu anweisen, dies zu machen:C Präprozessor for-Schleife
for(int i = 0; i < 8; i++)
{
doSomeThingWithI(i, [...]);
doSomeMoreStuffWithIt(i, [...]);
foo();
[...]
}
in dieser:
doSomeThingWithI(0, [...]);
doSomeMoreStuffWithIt(0, [...]);
foo();
[...]
doSomeThingWithI(1, [...]);
doSomeMoreStuffWithIt(1, [...]);
foo();
[...]
[...]
Das Wichtigste ist, dass ich „i“ in der Schleife verwenden.
Mögliche Duplikate von [Schreiben einer While-Schleife im C-Präprozessor] (http://stackoverflow.com/questions/319328/writing-a-while-loop-in-the-c-preprocessor) – prazuber
Ich bezweifle die Schleife ist dein Problem ... –
Ich habe diesen Kommentar erwartet. Die Schleife enthält nur wenige Anweisungen, wird jedoch pro Pixel in einem Racycaster ausgeführt. Der Unterschied zwischen der nicht-ausgerollten und der ausgerollten for-Schleife in Bezug auf die Leistung gemessen in fps beträgt etwa 10,8%. – Addi