Я новичок в препроцессоре, я редко использую его, поэтому этот вопрос может показаться глупым. В моей программе C я обнаружил, что цикл for, который имел фиксированный старт и конец, известные во время компиляции, вызывал некоторые проблемы с производительностью. Я временно решил это, вручную выкатывая его, однако это кажется немного грязным. Есть ли способ сказать препроцессор, чтобы превратить это:C препроцессор for-loop
for(int i = 0; i < 8; i++)
{
doSomeThingWithI(i, [...]);
doSomeMoreStuffWithIt(i, [...]);
foo();
[...]
}
в этом:
doSomeThingWithI(0, [...]);
doSomeMoreStuffWithIt(0, [...]);
foo();
[...]
doSomeThingWithI(1, [...]);
doSomeMoreStuffWithIt(1, [...]);
foo();
[...]
[...]
Важно то, что я должен использовать «я» внутри цикла.
Возможный дубликат [Написание цикла while в препроцессоре C] (http://stackoverflow.com/questions/319328/writing-a-while-loop-in-the-c-preprocessor) – prazuber
Я сомневаюсь, что цикл это ваша проблема ... –
Я ожидал этого комментария. Цикл содержит только несколько инструкций, однако выполняется на пиксель в raycaster. Разница между не-прокатанным и откатанным циклом с точки зрения производительности, измеренной в fps, составляет около 10,8% – Addi