Я пытаюсь понять прозрачное решение для отладочных остановок, которые неоднократно попадают в мою игру.Могу ли я сделать макрос HALT_ONCE?
Для тривиального примера; скажем, у меня есть остановка в моем рендерере, который говорит мне, когда я пытаюсь использовать материал NULL. Мой рендерер справляется с этим, но я все еще хочу знать, что я делаю неправильно. Эта остановка ударит каждый кадр, если я не отключу его вручную.
Это код ид нравится, чтобы включить в макрос (или что-то еще то будет прозрачной, как porssible)
#define HALT(errorMsg) printf(errorMsg);__asm { int 3 };
satic bool hitOnce = false;
if (!hitOnce)
{
hitOnce = true;
HALT("its all gone wrong!")
}
Идея я был, должен был сделать макрос, который создал этот код, с уникальным bool каждый раз. Проблема, с которой я столкнулся до сих пор, заключается в том, что я не могу увеличивать числа во время компиляции для создания уникальных статических bool для каждого HALT_ONCE.
Вы можете использовать макрос '__COUNTER__' для генерации уникальных идентификаторов во время компиляции, но у Evan Teran есть лучшее решение. –