Самостоятельный макроп в C/C ++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Самостоятельный макроп в C/C ++

Сообщение Anonymous »

Я сейчас работаю над проектом, где считается каждый цикл. Во время профилирования моего приложения я обнаружил, что накладные расходы какого -то внутреннего цикла довольно высоки, потому что они состоят из нескольких инструкций по машине. Кроме того, число итераций в этих циклах известно во время компиляции. во время компиляции, чтобы его можно было легко изменить позже.

Код: Выделить всё

#define LOOP_N_TIMES(N, CODE) 
< /code>

Так что я могу заменить на (int i = 0; i  с: < /p>

#define INNER_LOOP_COUNT 4
LOOP_N_TIMES(INNER_LOOP_COUNT, do_stuff();)
< /code>

И это развертывается: < /p>

do_stuff(); do_stuff(); do_stuff(); do_stuff();
< /code>

Поскольку препроцессор C по -прежнему для меня до сих пор загадка, я понятия не имею, как это сделать, но я знаю, что это должно быть возможно, потому что Boost, кажется, Иметь макросы Boost_pp_repeat 
. К сожалению, я не могу использовать импульс для этого проекта.

Подробнее здесь: https://stackoverflow.com/questions/282 ... oop-in-c-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»